Archie Cobbs wrote: > IMHO using POSIX threads is the only "right" answer for a multi-platform > JVM. You have no other choice except to leave it up to the specific > platform to then implement POSIX threads efficiently. > > For example, on Linux where each POSIX thread is a cloned process, it's > Linux's fault (not the JVM's fault) if that doesn't scale well. For > example, > other OS's don't have such heavyweight threads. FreeBSD's KSE's are an > example of a better tradeoff using M:N user:kernel threading. I agree with you. I think it's always the case that Java threads are going to be better than POSIX threads though, as with some commodity processors, in particular I'm thinking of Cell, you no longer have a shared memory model. In such a situation you could use a distributed JVM, such as JESSICA2 - that's built on top of Kaffe :-). So whilst implementing a JVM assuming POSIX threads is a good idea to run on many platforms, there are legitimate reasons why you may want to be flexible and not assume a 1-to-1 mapping of Java threads to POSIX threads, and of course avoid native code. Regards, Ian