Scaling Simply with Virtual Threads

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

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.

Slides

Here's the current version of the slides.

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.

Past Presentations

I gave this talk a few times before. See below for links to slides (as they were at that very event), videos, and other information.

2023

Tue, Dec 12th, 14:00 Europe/BerlinEinfach Skalieren mit Virtuellen Threads
at IT-Tage
Solar, Kap Europa, Frankfurt
Tue, Nov 7th, 18:00 Europe/ViennaScaling Simply with Virtual Threads
at Enterprise JUG Austria
Raiffeisen Software Gmbh, Linz
Wed, May 24th, 08:00 America/Los_AngelesScaling Simply with Virtual Threads