Whilst I know questions on this have been covered already (e.g. <http://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads>), I don't feel like I've got a satisfactory answer.

The question is: *why don't JVM's support green threads anymore?*

It says this on the <a href="http://www.codestyle.org/java/faq-Threads.shtml#greenthread">code-style Java FAQ</a>:

> A green thread refers to a mode of operation for the Java Virtual
> Machine (JVM) in which all code is executed in a single operating
> system thread. 

And this over on <a href="http://java.sun.com/docs/hotspot/threads/threads.html">java.sun.com</a>:

> The downside is that using green threads means system threads on Linux
> are not taken advantage of and so the Java virtual machine is not
> scalable when additional CPUs are added.

It seems to me that the JVM could have a pool of system processes equal to the number of cores, and then run green threads on top of that.  This could offer some big advantages when you have a very large number of threads which block often (mostly because current JVM's cap the number of threads).

Thoughts?