[THREADING 101] the Series Overview

[

A comprehensive guide to multithreading and concurrency in Java, from fundamentals to advanced techniques. A great fit for engineers learning the basics of multi-threaded applications in theory and practice.

Articles

#TopicKey Concepts
01 – Threading BasicsThread lifecycle, creation, interruption, poolsThread states, Runnable, ExecutorService, volatile
02 – Race Conditions and Data RacesTypes of concurrency bugsRace condition vs data race, CPU reordering, TOCTOU
03 – Synchronization in JavaThe synchronized keywordMonitor locks, wait/notify, deadlock prevention
04 – Locks and ConditionsExplicit locksReentrantLock, ReadWriteLock, StampedLock, Conditions
05 – SemaphoresResource limitingSemaphore, TimedSemaphore, producer-consumer signaling
06 – Atomic Classes and OperationsLock-free primitivesCAS, AtomicInteger, AtomicReference, LongAdder, ABA problem
07 – Lock-Free AlgorithmsBuilding data structures without locksCAS loops, lock-free stack/queue, backoff strategies
08 – Future and CompletableFutureAsynchronous computationFuture, CompletableFuture, chaining, combining, error handling
09 – Virtual ThreadsLightweight threads (Java 21+)Carrier threads, mounting/unmounting, pinning, structured concurrency

Learning Path

problems Solved and Explained:

Coming soon…

About the author

Maksim

I build AI-powered products and lead engineering teams. I've launched platforms from zero to millions of users and learned most lessons the hard way. I write about the gap between engineering theory and practice, what actually matters when building products, and the decisions that shape teams and systems.

Add Comment

By Maksim

Maksim

Get in touch

Reach out if you want to discuss engineering leadership, collaborate on something interesting, or suggest topics you'd like me to write about.