Difference between revisions of "No threads"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
m
 
(4 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 expect to implement [[SCOOP]] someday. Until then, perhaps you might also want to check out [[Lib/sequencer]], which offers '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'.