Loom - Where Are We?
summary
Virtual threads become permanent in JDK 21 and the HotSpot VM now uses the limited continuation implementation plus a ForkJoin carrier scheduler; the current work adapts the VM’s lightweight locking (the lock stack) to avoid object monitors pinned scenarios by freezing lock-stack entries during continuation unmounts and adding VM-initiated preemption for contended monitor enter/exit. Early-access builds since March show the prototype works for lightweight monitors, diagnostics (JFR, jcmd, heap/thread dumps, JVMTI) improve observability, one performance wrinkle remains, and JEPs for JDK 24 and previews for Structured Concurrency and Scoped Values are planned.
AI-written summary · about
chapters (11)
- 0:00Project Loom update
- 1:16Virtual thread background
- 3:07Pinning and scheduling
- 9:39Object monitor pain points
- 13:35Fixing monitor pinning
- 18:51Monitor rehabilitation
- 26:06Other pinning challenges
- 29:25Troubleshooting and tools
- 35:15Scheduler exploration
- 40:27Structured concurrency
- 44:43Scope values and summary
related talks
01h 02mThe next phase of Project Loom and Virtual Threads
47mThe Challenges of Introducing Virtual Threads to the Java Platform - Project Loom
01h 13mProject loom: Modern scalable concurrency for the Java platform
01h 00mLoom Virtual Threads in the JDK 20
57mUnveiling the Magical Power of Java Virtual Threads
20mLoom's Next Phases
02h 43mVirtual Threads, Structured Concurrency and Scoped Values in Java 25 and Beyond
47mConcurrent and Asynchronous Programming: Loom in Java 20 and 21
