When every request coming into a system runs in its own thread but keeps blocking it for outgoing requests to the file system, databases, or other services, the number of threads the system supports quickly becomes the limiting factor for scaling up throughput. Reactive programming solves this problem by only occupying platform threads when they are actually needed, thus offering better scalability, but comes at a cost: developing, maintaining, debugging, observing, and benchmarking code becomes more challenging.
Virtual threads combine the simplicity of blocking code with the resource efficiency and scalability of reactive programming and in this talk you're going to learn how they do that and how you can use them in your project.
I also embedded them below. If they're focussed, you can navigate with arrow keys or swipes (they're two-dimensional, with chapters on the horizontal axis and chapter content layed out vertically). Use Page Up/Down for linearized order and ? for more shortcuts.
In the coming months, I'll present this talk at IT-Tage. If you're there as well, I'd love to meet you - I'm always up for a chat. 😁 Just flag me down when you see me. (This includes chat rooms.)
I gave this talk twice before. See below for links to slides (as they were at that very event), videos, and other information.