Skip to main content

Java Concurrency (java.util.concurrent)

Table of Contents

The java.util.concurrent package (JSR-166) is a masterpiece of design by Doug Lea and others. It provides a standardized framework for asynchronous task execution, thread-safe collections, and advanced synchronization primitives.

This series explores the source code of the package to understand the engineering trade-offs and implementation details behind some of the most critical components of the JVM.

Table of Contents #

  1. Executors: The core of Java’s task execution framework.

  2. Queues: Thread-safe data structures for producer-consumer patterns.

  3. Synchronizers: Advanced coordination primitives.

  4. Concurrent Collections: Scalable collections for multi-threaded environments.

  5. Atomics and Locks: The foundation of wait-free and lock-free programming.

  6. Modern & Advanced Concurrency: The future of Java threading.


This textbook is complete, covering all 60+ major classes in the java.util.concurrent package.