Can you explain how you think Java does it more elegantly? That's a very surprising statement. Java didn't even do m:n threading until "Project Loom".

Java has structured concurrency.

This poster summarized it well: https://news.ycombinator.com/item?id=49864334