KSE, libpthread & libthr: almost newbie question

Greg Lewis glewis at eyesbeyond.com
Sat Oct 28 16:13:25 UTC 2006


On Sat, Oct 28, 2006 at 10:27:03AM -0400, Daniel Eischen wrote:
> On Sat, 28 Oct 2006, Robert Watson wrote:
> >On Fri, 27 Oct 2006, Julian Elischer wrote:
> >
> >>there is class of problems (e.g. some java programs) that have THOUSANDS 
> >>of threads, each representing an active aspect of some object. How do you 
> >>put an rlimit on that without either 1/ stopping the program from working 
> >>or 2/ allowing thousands of threads to exist but not screwing other users.
> >
> >Does the JVM actually expose thousands of threads to the OS, or does it 
> >actually do its own M:N threading internally based on its execution model? 
> >My impression is the latter, exposing threads to the OS only when it needs 
> >them to consume kernel or CPU resources.
> 
> I think it exposes all threads to the OS.  I think "green threads"
> was its own threading.  You should ask -java, though.

I believe you are correct.  Since 1.4 (or 1.3 if you used "native" threads
with it, which we didn't by default) its been 1:1.  Green threads was a
userland threading implementation entirely in the JVM, much like libc_r.
It wasn't M:N but rather M:1 (since there were no system threads, just the
JVMs own internal threads).

-- 
Greg Lewis                          Email   : glewis at eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis at FreeBSD.org


More information about the freebsd-current mailing list