I mean, Java does it even more elegantly imo and if anything it is the most stereotypical oop programming language of all time.

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