Every story and comment from the Hacker News API, in a layout borrowed from 2001.
A comment on Green Threads Explained. Parent comment
From the "client" side, there are many that are preemptive in that user code does not explicitly yield (Ruby threads pre-1.9, Erlang processes, etc.)
The runtime implementation is, by definition, cooperative scheduling on top of one (1:N) or many (M:N) native threads.
Is it? It seems like one could theoretically implement thread switch on signal, and I'd probably still call that "green threads".
From the "client" side, there are many that are preemptive in that user code does not explicitly yield (Ruby threads pre-1.9, Erlang processes, etc.)
The runtime implementation is, by definition, cooperative scheduling on top of one (1:N) or many (M:N) native threads.