Relearning Java Concurrency Control from the Ground Up
How the JVM monitor behind synchronized works, what ReentrantLock adds, and a producer-consumer fix. Then lock striping on per-user keys to raise throughput.
2 posts

How the JVM monitor behind synchronized works, what ReentrantLock adds, and a producer-consumer fix. Then lock striping on per-user keys to raise throughput.

Network I/O was blocking threads. JDK 21 virtual threads fixed that, then pinning and overwhelming showed up. How each one was handled.