Date: Sun, 29 Oct 2006 21:22:39 -0800 From: Julian Elischer <julian@elischer.org> To: Scott Long <scottl@samsco.org> Cc: Lev Serebryakov <lev@freebsd.org>, Paul Allen <nospam@ugcs.caltech.edu>, Robert Watson <rwatson@freebsd.org>, current@freebsd.org Subject: Re: KSE, libpthread & libthr: almost newbie question Message-ID: <45458C1F.5000006@elischer.org> In-Reply-To: <4544D4FC.4070201@samsco.org> 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> <45442A35.2030803@elischer.org> <20061029090309.T27107@fledge.watson.org> <4544D4FC.4070201@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Scott Long wrote: > Robert Watson wrote: >> >> On Sat, 28 Oct 2006, Julian Elischer wrote: >> >>> 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 don't know the answer to that question, only that there is a class >>> of program style that uses this model. >> >> FYI, last night following comments about the change away "green >> threads", I ran some simple tests with the 1.4.2 JVM. It appears >> that, at least in my simple test cases, all threads created in the JVM >> are exposed to the OS. Typically this appears to be about n+8 to n+9 >> threads, where n is the number of threads created by the application >> itself, and 8/9 is the number created by the JVM. I assume the >> variance of one is likely the garbage collector kicking in every now >> and then (or something along those lines). >> > > This is correct. The JVM maps all threads directly into the native > threading mechanism provided by the OS. 'Green threads' have been > defunct since Java 1.3, and no other magic happens behind the scenes. > so, why does it use 1:1 threads? who knows what the thinking here was? > Scott > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45458C1F.5000006>