Start of main content

Thread Wars: Loom Strikes Back


With the Loom project approaching release, the only things the Java world is talking about are coroutines and lightweight multithreading!

But Java is not the first in this field—rather the opposite, it is one of the last modern languages to add coroutines. So are we just getting exactly what our neighbors already have? Are there coroutines in Java different from those in Kotlin? Or from goroutines in Go? Or from async/await in C#? Will our coroutines be better or worse? And why is it taking so long to make them, since other languages have had them all for a long time?

In this talk, let's realize the place of our coroutines in the world, and to do so, let's understand the history of the issue. Let's discuss how the decision to implement one feature can affect the appearance of the entire programming language, compare coroutine implementations in different languages, and, of course, dig deep into the Loom project's internals.

  • #threads
  • #jvm
  • #virtual
  • #coroutines