From what I have found thus far is it's the JVM that controls the threads, suspending and resuming them as it needs. I still have only scratched the surface so far as to what they are suited too.
Not sure what happens if one thread gets killed, I suspect the jvm will continue live threads and probably report a killed one.