Those semantics are exactly what cannot be done in Java for many reasons (including legacy code etc.).
And yes, those semantics are important, but sadly most people stop at "yay we have green threads now" and then a null pointer exception kills their entire app, or the thread that handles requests, or...