In the Green Thread model, the threads are scheduled
by the VM. And in the Native Thread model, the
threads are scheduled by the OS. Green threads
emulate multithreaded environments without relying
on any native OS capabilities. They run code
in user space that manages and schedules threads;
Sun wrote green threads to enable Java to work
in environments that do not have native thread
the Green Thread model, the OS doesn't know
anything about the threads used in the VM. It's
up to the VM to handle all the details.
The burden of thread scheduling is on the programmer's
shoulders.Green threads can't take advantage
of multiple CPUs, but they have the advantage
of lighter weight for context switching.