From: Peter Zotov Date: 2012-08-29T07:30:34+09:00 Subject: Re: force child threads run paralelly? Tony Arcieri писал 29.08.2012 00:07: > On Tue, Aug 28, 2012 at 1:00 PM, Peter Zotov > wrote: > >> Ruby 1.8 had green threads, which did work on threadless platforms, >> but >> having green >> threads doesn't require one to abandon multicore support. For >> example, >> Erlang >> has both. > > > A minor nit: depending on who you ask, the phrase "green threads" is > the > proper opposite of "native threads". Systems that utilize native > threads > for scheduling (e.g. the Erlang SMP scheduler) are probably not > properly > described as "green threaded". Prior to the SMP scheduler, Erlang > could be > described as green threaded. > > Erlang's creators prefer the phrase "process" for its concurrency > primitive, although it can generally be described as being > "microthreaded" I think that the term "userspace threads" works for any protected-mode OS. E.g DOS does not have explicitly defined userspace, but a scheduling pthreads shim for DOS is effectively a green thread implementation, so the distinction is a bit meaningless there. "Interpreter-defined threads" would also cover various RTOS'es running in environments where there is an OS/user code distinction, but no userspace/kernelspace one, through it still does not work for DOS. -- WBR, Peter Zotov.