Why user-mode threads are (often) the right answer

Day 2 /  / Track 1  /  EN / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

Concurrency is the problem of scheduling simultaneous, largely-independent tasks, competing for resources to increase application throughput. Multiple approaches to scalable concurrency are used in various programming languages: using OS threads, asynchronous programming styles ("reactive"), syntactic stackless coroutines (async/await), and user-mode threads (fibres).

This talk will explore the problem, explain why Java has chosen user-mode threads to tackle it and compare the various approaches and the tradeoffs they entail.

Download presentation


Ron Pressler

Ron works in Oracle's Java Platform Group on OpenJDK, where he is Technical Lead of Project Loom.

Invited Experts

Vladimir Ivanov

Principal Engineer at Oracle working in the HotSpot development team. Specializes in JIT compilation and support of alternative languages on the Java platform.