Project Loom will be a game-changer for the JVM’s concurrency model, delivering ‘reactive’ characteristics out-of-the-box without the need for complex concurrency abstractions. What project Loom tries to achieve is already available in Kotlin through Coroutines. So the nagging question is: What will be the faith of Coroutines once Loom delivers? Will they become obsolete?
In this talk, I will try to answer this question. We will first recap how Coroutines work and what they offer us, explaining the underlying concepts such as structured concurrency, suspend methods, Continuations, etc. We will then look at how project Loom tries to achieve lightweight concurrency and compare it to Coroutines using many live-coded examples. Disclaimer: Loom is not final yet, and things still can/will change, even though Loom’s central philosophy and approach have been stable so far.
At the end of the talk, you will gain a good understanding of what lays ahead of us and what the impact of Loom on Kotlin’s Coroutines will be. Will their raison d’être still hold? Or might Loom even be a blessing in disguise?