The Challenges of Introducing Virtual Threads to the Java Platform - Project Loom
summary
Project Loom makes virtual threads a permanent JDK 21 feature implemented on delimited continuations with a FIFO-configured ForkJoinPool whose worker carrier threads run many Java-lang Thread objects; demos include a 50,000-thread Game of Life and a 5 million virtual threads chat server that proves the socket/blocking API scales. Remaining issues: monitor pinning when parking, JVM TI and profiler gaps, thread-local memory bloat and startup/warmup behavior; many fixes are work in progress.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:38Terminology
- 2:22Implementation
- 4:53APIs
- 7:00Progress
- 8:20Virtual Thread Ecosystem
- 11:02Problems with Virtual Threads
- 15:14Message around Migration
- 16:40Summary
- 19:30Challenges
- 23:01How do you organize them
- 24:26Threat hurting
- 26:14Recap
- 26:58Preview API
- 27:50Tree of Threads
- 28:32Thread Grouping
- 29:48Thread Locals
- 31:35Support for Thread Locals
- 34:31Moving away from Thread locals
- 37:10Networking
- 43:35Thread Dump
- 46:05Loom Resources
related talks
01h 13mProject loom: Modern scalable concurrency for the Java platform
51mWhat's Looming in Java The Why and What of Project Loom
52mJava Virtual Threads
50mProject Loom: Helping Write Concurrent Applications on the Java Platform
57mUnveiling the Magical Power of Java Virtual Threads
01h 00mLoom Virtual Threads in the JDK 20
53mVirtual Threads: Ushering in a New Era of Concurrency
39mProject Loom: Modern Scalable Concurrency for the Java Platform
