Difference between revisions of "No threads"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
m
m
 
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 the same book that contains this essay, 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)… :)
+
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.
 
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.

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'.