thepointman.dev_

Courses / Modern Java

Virtual Threads

advanced8 lessons

Why the thread-per-request model broke, carrier thread mount/unmount, the pinning problem with synchronized blocks (and why ReentrantLock is the fix), ThreadLocal memory implications at millions of threads, StructuredTaskScope, ScopedValue as ThreadLocal's replacement, and the reactive vs virtual thread decision.

// Lessons

  1. 01

    The Thread-Per-Request Model — Why It Broke Down

    soon
  2. 02

    OS Threads vs Virtual Threads — The Mount/Unmount Cycle

    soon
  3. 03

    Thread.ofVirtual() — Creating and Running Virtual Threads

    soon
  4. 04

    Pinning — The synchronized Block Problem and the ReentrantLock Fix

    soon
  5. 05

    ThreadLocal at Scale — Memory Implications of Millions of Threads

    soon
  6. 06

    Structured Concurrency — StructuredTaskScope and Lifetime Guarantees

    soon
  7. 07

    ScopedValue — A Better ThreadLocal for the Virtual Thread World

    soon
  8. 08

    Virtual Threads vs Reactive — When to Choose What in 2025

    soon