Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Oct 2006 09:12:37 -0700
From:      Greg Lewis <glewis@eyesbeyond.com>
To:        Daniel Eischen <eischen@vigrid.com>
Cc:        Lev Serebryakov <lev@freebsd.org>, Paul Allen <nospam@ugcs.caltech.edu>, Robert Watson <rwatson@freebsd.org>, Julian Elischer <julian@elischer.org>, current@freebsd.org
Subject:   Re: KSE, libpthread & libthr: almost newbie question
Message-ID:  <20061028161237.GA44174@misty.eyesbeyond.com>
In-Reply-To: <Pine.GSO.4.64.0610281026020.12299@sea.ntplx.net>
References:  <917908193.20061027102647@serebryakov.spb.ru> <20061027103924.F79313@fledge.watson.org> <45426071.7020403@elischer.org> <602423478.20061028001449@serebryakov.spb.ru> <4542896D.1050001@elischer.org> <20061027231642.GJ30707@riyal.ugcs.caltech.edu> <45429703.8070305@elischer.org> <20061028104741.Q69980@fledge.watson.org> <Pine.GSO.4.64.0610281026020.12299@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061028161237.GA44174>