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
- 01soon
The Thread-Per-Request Model — Why It Broke Down
- 02soon
OS Threads vs Virtual Threads — The Mount/Unmount Cycle
- 03soon
Thread.ofVirtual() — Creating and Running Virtual Threads
- 04soon
Pinning — The synchronized Block Problem and the ReentrantLock Fix
- 05soon
ThreadLocal at Scale — Memory Implications of Millions of Threads
- 06soon
Structured Concurrency — StructuredTaskScope and Lifetime Guarantees
- 07soon
ScopedValue — A Better ThreadLocal for the Virtual Thread World
- 08soon
Virtual Threads vs Reactive — When to Choose What in 2025