[concurrency-interest] Proposal for Hybrid Threading Model and simpler Async IO

Kirk Pepperdine kirk at kodewerk.com
Mon May 5 03:20:12 EDT 2014

On May 4, 2014, at 11:37 PM, Gregg Wonderly <gregg at wonderly.org> wrote:

> The original version of Java used a runtime environment which used the term "Green Threads".  This was of course taken out when sun started trying to make Java more than an Applet engine.

I believe the idea for Green Threads stems from lightweight threads in Solaris. There, a lightweight thread ran on top of a single kernel thread. The kernel thread time sliced between each of it’s LWP. I’m not sure it ever worked all that well as CPU’s at the time of inception weren’t quite what they are today and scheduling in Solaris always felt sluggish.
> There are two problems.  First is all the visibility and contention issues which the concurrency package has demonstrated to not be a simple issue due to rather arcane processor architecture issues.
> What we actually need is infinitely fast cache and cache coherency algorithms, and much more sane processor designs which try to allow processors to work together rather than trying desperately to keep them from interfering with each other.

Completely agree, copies are always going to be a problem and immutability can only be part of the answer.


More information about the Concurrency-interest mailing list