Difference between revisions of "No threads"
Jump to navigation
Jump to search
Hzwakenberg (talk | contribs) m |
Hzwakenberg (talk | contribs) m |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Eric Raymond has written a pretty good essay about [http://www.catb.org/~esr/writings/taoup/html/ch07s09.html#id2916186 '''why threads are evil''']. |
+ | Eric Raymond has written a pretty good essay about [http://www.catb.org/~esr/writings/taoup/html/ch07s09.html#id2916186 '''why threads are evil''']. |
+ | Then again, in that same book that contains this essay ("The Art of Unix Programming"), he also comments on garbage collectors in a rather negative way, so take all of this with a grain of salt. The book is from 2003 or thereabout, and the world has moved on since then (see next paragraph)… :) |
||
+ | |||
+ | One of these recent developments is the [https://lmax-exchange.github.io/disruptor/user-guide/index.html Disruptor Pattern], which demonstrates that extremely fast multi-threading message passing is possible without using any locks at all. |
||
Note that we do expect to implement [[SCOOP]] someday. Until then, perhaps you might also want to check out [[Lib/sequencer]], which offers non-preemptive 'cooperative multitasking'. |
Note that we do expect to implement [[SCOOP]] someday. Until then, perhaps you might also want to check out [[Lib/sequencer]], which offers non-preemptive 'cooperative multitasking'. |
Latest revision as of 15:39, 3 July 2024
Eric Raymond has written a pretty good essay about why threads are evil. Then again, in that same book that contains this essay ("The Art of Unix Programming"), he also comments on garbage collectors in a rather negative way, so take all of this with a grain of salt. The book is from 2003 or thereabout, and the world has moved on since then (see next paragraph)… :)
One of these recent developments is the Disruptor Pattern, which demonstrates that extremely fast multi-threading message passing is possible without using any locks at all.
Note that we do expect to implement SCOOP someday. Until then, perhaps you might also want to check out Lib/sequencer, which offers non-preemptive 'cooperative multitasking'.