Concurrency

Раздел про многопоточность в Java простыми словами: потоки и модель памяти (JMM, happens-before, volatile), гонки, synchronized и блокировки, atomics и CAS, потокобезопасные коллекции, пулы потоков, CompletableFuture, виртуальные потоки Java 21 и типичные баги.

A section starting from scratch on multithreading and concurrency in Java: how threads and the memory model work, why races happen and how to guard against them, what tools are available — from synchronized to Java 21 virtual threads — and which bugs lie in wait. Best read in order.