Continuations: The magic behind virtual threads in Java by Balkrishna Rawool @ Spring I/O 2024
Vložit
- čas přidán 27. 08. 2024
- Spring I/O 2024 - 30-31 May, Barcelona
Slides: speakerdeck.co...
Repo: github.com/bal...
Have you wondered how virtual threads in Java are able to provide such high scalability? How is JVM able to switch between so many virtual threads while executing a single platform thread? If you did then this talk is for you.
A Continuation is the magic that powers Virtual Threads. It can be viewed as a representation of the current state of the program or it can be viewed as a reference to the rest of the program. It helps us to pause execution of a program (or part thereof) and then resume it later. This ability to pause/resume is a powerful mechanism and is the basis for providing virtual threads.
In this talk, we will start with explaining what continuations are and how does Continuation API in Java work. We will also explore the uses of continuations. And more importantly, we will write our own simple VirtualThread class using the Continuation API provided by JDK. This gives clear idea about the role of continuations in the nature of virtual threads.
we need more of this kind of JDK internals unravelling. enjoyed watching the vid
spectacular explanation with clear and simple to comprehend demos
I love this "peeling back a layer", deepdive type of talk way, way more than the usual wide but superficial variety. Brilliantly done.
One of the best session that i have ever watched to understand virtual thread
An in-depth presentation
That is an amazing talk !!!!
Quite interesting topic with a great presentation! Thanks a lot Bala!
Superb talk
Great talk!
Great presentation
amazing talk!
Thank you! Great talk, the first 40 minutes are quite good but you lost me in the last ten ones, I had to rewatch it
Give a short version too pls
Expecting a real world application using threads
Why not use Erlang. Erlang solved these problems in 1970s and almost all system in scandavian, nordik and russia uses erlang.
rest of the world uses Java , Go, C, CPP