<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Caffeinated Simpleton - Latest Comments in A Threading Model Overview</title><link>http://caffinatedsimpleton.disqus.com/</link><description>My personal blog</description><atom:link href="https://caffinatedsimpleton.disqus.com/a_threading_model_overview/latest.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Sat, 07 Nov 2009 16:12:31 -0000</lastBuildDate><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-22145335</link><description>&lt;p&gt;finally got it&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jason</dc:creator><pubDate>Sat, 07 Nov 2009 16:12:31 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-13379422</link><description>&lt;p&gt;Very well observed mate. Thanks for clearing things up!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">miami web designer</dc:creator><pubDate>Mon, 27 Jul 2009 06:04:52 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-6648046</link><description>&lt;p&gt;Good article. Thanks&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Locksmith Madison</dc:creator><pubDate>Thu, 26 Feb 2009 04:38:16 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2324768</link><description>&lt;p&gt;I've written medium sized pthread (native thread) C++ apps on embedded Linux that have shipped on more than 10 million devices.  Speaking from painful experience, I can tell you that C/C++ give you more than enough rope to hang yourself if you decide to go multi-threaded and have seen scores of smart, but, perhaps, not sufficiently scared developers create hard to find and harder to fix bugs when they decide to 'run something in a background thread.'  Before them, I learned to fear threads the hard way, and now watch as they relearn those painful lessons.&lt;/p&gt;&lt;p&gt;I now avoid native threads like the plague and would rather fork a process and have it write output to a pipe or a file if possible within the given performance constraints, or, if you really need performance, share a memory region between two processes.  Because the only way to have a shippable multi-threaded C/C++ application is to ensure that it is loosely coupled and putting things in separate processes is the most bullet-proof way to do that.  If you don't don't ensure loose coupling, then some developer will add code that calls from thread-B into a function that only thread-A should call, which will create a race condition, and, eventually a core dump.&lt;/p&gt;&lt;p&gt;Just thinking about it makes me want to baptize myself in the waters of Erlang.  &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter</dc:creator><pubDate>Sat, 13 Sep 2008 01:00:52 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2287964</link><description>&lt;p&gt;PHP doesn't support threading. It's not that big of a deal most of the time since PHP is mostly just for web development. You can embed php in multiple Apache processes, or spawn off a bunch of PHP processes to do FCGI. Either way tends to work fine for creating a pool to respond to simultaneous requests, which is the biggest need for threads in web development.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">justin</dc:creator><pubDate>Thu, 11 Sep 2008 12:44:49 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2279189</link><description>&lt;p&gt;Thanx for the article! Could anyone post some information about threads in PHP?&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Satas</dc:creator><pubDate>Thu, 11 Sep 2008 02:51:19 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2261301</link><description>&lt;p&gt;While that paper provided a good overview of how multi-processing works, I'm not sure I took away a solid understanding of how CMP works. Do you have to develop for TMOS directly? If so, what does that development model look like?&lt;/p&gt;&lt;p&gt;It sounds a little like Erlang to me.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">justin</dc:creator><pubDate>Wed, 10 Sep 2008 12:23:19 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2260873</link><description>&lt;p&gt;We have similar issues trying to explain our implementation (&lt;a href="http://www.f5.com/pdf/white-papers/viprion-clustered-multiprocessing-wp.pdf" rel="nofollow noopener" target="_blank" title="http://www.f5.com/pdf/white-papers/viprion-clustered-multiprocessing-wp.pdf"&gt;Clustered Multiprocessing&lt;/a&gt;). It's not an easy concept for most folks to grasp. This is a nice summary  and I agree with Justin - the wrapper layer can have a significant impact on how efficient the native threads actually are, and the impact they have on performance. That's one of the reasons we dug under the covers and developed something different - the current options just weren't quite right for what we were trying to do.&lt;/p&gt;&lt;p&gt;Given that most folks don't have that option, understanding the pros/cons of threading in different languages may lead them to choose one language over another, if threading is important to what they're trying to do.&lt;/p&gt;&lt;p&gt;Lori &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lori MacVittie</dc:creator><pubDate>Wed, 10 Sep 2008 11:54:16 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2258246</link><description>&lt;p&gt;For Tcl, which has a shared nothing thread model, look here:&lt;br&gt;&lt;a href="http://www.tcl.tk/doc/howto/thread_model.html" rel="nofollow noopener" target="_blank" title="http://www.tcl.tk/doc/howto/thread_model.html"&gt;http://www.tcl.tk/doc/howto...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">schlenk</dc:creator><pubDate>Wed, 10 Sep 2008 07:58:53 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2257019</link><description>&lt;p&gt;Most of them end up being native threads, but there are different tradeoffs offered in each implementation that it's good to be aware of.&lt;/p&gt;&lt;p&gt;Green threads are an interesting topic that people are often not aware of. It might not be "true threading", but lightweight, cooperative threads can actually have substantial performance benefits in many situations.&lt;/p&gt;&lt;p&gt;Thanks for the tip on the Copyright. Fixed. :).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">justin</dc:creator><pubDate>Wed, 10 Sep 2008 03:19:58 -0000</pubDate></item><item><title>Re: A Threading Model Overview</title><link>https://justin.harmonize.fm/development/2008/09/09/threading-model-overview.html#comment-2256980</link><description>&lt;p&gt;Pretty nice summary though in the end, all the threading techniques used by different language implementations just end up being nice and pretty wrappers around the OS threads / Native threads and anything which isn't is not IMO called a true threading.&lt;/p&gt;&lt;p&gt;PS: BTW, your footer is still shouting "@2008 Your Name Here", maybe its about time you entered your name there. :-)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">orochi</dc:creator><pubDate>Wed, 10 Sep 2008 03:11:35 -0000</pubDate></item></channel></rss>