author and iconoclast
posted 11 years ago
You can't "make a green thread", nor can some threads in an application be "green", while other aren't. A Java Virtual Machine needs to be built on top of some "real" thread library -- i.e., a thread library in native code. The earliest JVMs used a library called "Green threads", which was relatively crude, but also relatively portable, and it was a good way for Sun to get a JVM working on a number of platforms early on. As time has passed, and operating systems have matured, Sun's JVMs (and those from other vendors) have more or less universally transitioned to using the OS's standard or built-in thread implementation. At first, these "native thread" JVMs had some problems, mostly due to the immaturity of the underlying libraries, but things have improved greatly over the years. Thankfully, Sun is no longer shipping JVMs that use Green threads. This is a Good Thing.