Skip to content

Concurrency books — Java

All book lists · Concepts

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors

Venkat Subramaniam · 1st edition · The Pragmatic Bookshelf · 2011
dedicated to concurrency · on the shelf · publisher ↗ · example code ↗

Chapters
  • 1 The Power and Perils of Concurrency
  • 2 Division of Labor
  • 3 Design Approaches
  • 4 Scalability and Thread Safety
  • 5 Taming Shared Mutability
  • 6 Introduction to Software Transactional Memory
  • 7 STM in Clojure, Groovy, Java, JRuby, and Scala
  • 8 Favoring Isolated Mutability
  • 9 Actors in Groovy, Java, JRuby, and Scala
  • 10 Zen of Programming Concurrency
  • A1 Clojure Agents

Cited on: Actor model, Concurrency, Fork-join, Immutability, Interior mutability, Speedup and Amdahl's law, Task parallelism, Thread confinement, Transactional memory

Java Concurrency in Practice

Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea · 1st edition · Addison-Wesley (Pearson Education) · 2006
dedicated to concurrency · on the shelf · publisher ↗ · example code ↗

Chapters
  • 1 Introduction
  • 2 Thread Safety
  • 3 Sharing Objects
  • 4 Composing Objects
  • 5 Building Blocks
  • 6 Task Execution
  • 7 Cancellation and Shutdown
  • 8 Applying Thread Pools
  • 9 GUI Applications
  • 10 Avoiding Liveness Hazards
  • 11 Performance and Scalability
  • 12 Testing Concurrent Programs
  • 13 Explicit Locks
  • 14 Building Custom Synchronizers
  • 15 Atomic Variables and Nonblocking Synchronization
  • 16 The Java Memory Model
  • Annotations for Concurrency

Cited on: Atomic variable, Blocking and non-blocking calls, Cancellation, Concurrent data structures, Contention, Context switch, Deadlock, Immutability, Lock-free, Producer-consumer, Profiling concurrent programs, Reentrant lock, Safety and liveness, Sequential execution, Shared memory, Speedup and Amdahl's law, Thread confinement, Thread pool and executor, Thread safety, UI thread, Weak memory models and reordering

Concurrent Programming in Java: Design Principles and Patterns

Doug Lea · 2nd edition · Addison-Wesley · 1999
dedicated to concurrency · publisher ↗

Java in a Nutshell

Benjamin J. Evans, Jason Clark, David Flanagan · 8th edition · O'Reilly Media · 2023
a concurrency chapter in a broader book · on the shelf · example code ↗

The concurrency chapters
  • 6 Java’s Approach to Memory and Concurrency

Core Java, Volume I: Fundamentals

Cay S. Horstmann · 12th edition · Pearson · 2022
a concurrency chapter in a broader book · on the shelf · publisher ↗

The concurrency chapters
  • 12 Concurrency

Core Java, Volume II: Advanced Features

Cay S. Horstmann · 11th edition · Pearson Education · 2019
a concurrency chapter in a broader book · on the shelf · publisher ↗

The concurrency chapters
  • 1 Streams

Modern Java in Action: Lambdas, streams, functional and reactive programming

Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft · 1st (successor to Java 8 in Action) edition · Manning Publications · 2019
a concurrency chapter in a broader book · on the shelf · publisher ↗

The concurrency chapters
  • 7 Parallel data processing and performance
  • 15 Concepts behind CompletableFuture and reactive programming
  • 16 CompletableFuture: composable asynchronous programming
  • 17 Reactive programming
  • C Performing multiple operations in parallel on a stream

Cited on: Fork-join, Parallel iterators and streams

Effective Java

Joshua Bloch · 3rd edition · Addison-Wesley (Pearson Education) · 2018
a concurrency chapter in a broader book · on the shelf · publisher ↗

The concurrency chapters
  • 11 Concurrency

Cited on: Run-once initialization, Thread pool and executor

Mastering Lambdas: Java Programming in a Multicore World

Maurice Naftalin · 1st edition · McGraw-Hill Education (Oracle Press) · 2015
a concurrency chapter in a broader book · on the shelf

The concurrency chapters
  • 3 Introduction to Streams and Pipelines
  • 6 Stream Performance