Skip to content

Concurrency books — General and cross-language

All book lists · Concepts

Grokking Concurrency

Kirill Bobrov · 1st edition · Manning Publications · 2024
dedicated to concurrency · on the shelf · publisher ↗ · example code ↗

Chapters
  • 1 Introducing concurrency
  • 2 Serial and parallel execution
  • 3 How computers work
  • 4 Building blocks of concurrency
  • 5 Interprocess communication
  • 6 Multitasking
  • 7 Decomposition
  • 8 Solving concurrency problems: Race conditions and synchronization
  • 9 Solving concurrency problems: Deadlocks and starvation
  • 10 Nonblocking I/O
  • 11 Event-based concurrency
  • 12 Asynchronous communication
  • 13 Writing concurrent applications

Cited on: Blocking and non-blocking calls, Callback, Classic synchronization problems, Concurrency, Cooperative scheduling, Deadlock, Event loop, Event-driven programming, Granularity, I/O multiplexing, I/O-bound and CPU-bound work, Inter-process communication, Livelock, Multitasking, Parallelism, Race condition, Sequential execution, Starvation

Asynchronous Programming: Beyond the Main Thread

Theophilus Edet · CompreQuest Books (Theophilus Edet) · 2023
dedicated to concurrency · on the shelf

Chapters
  • 1 Introduction to Asynchronous Programming
  • 2 Asynchronous Programming in Various Languages
  • 3 Asynchronous I/O Operations
  • 4 Asynchronous UI Programming
  • 5 Real-time Applications and Event-driven Architectures
  • 6 Asynchronous Programming in Different Platforms
  • 7 Asynchronous Data Processing and Messaging
  • 8 Asynchronous Applications in Emerging Technologies
  • 9 Multimedia Processing and Web Scraping
  • 10 Mobile App Development and Robotics
  • 11 Social Media Integration and DevOps
  • 12 Industry-specific Applications
  • 13 Legal Tech and Environmental Monitoring
  • 14 CRM and Supply Chain Management
  • 15 Space Exploration and Wearable Tech
  • 16 Cybersecurity and Incident Response
  • 17 Compliance Technologies and Risk Management
  • 18 Remote Work Solutions and HR Management
  • 19 Sales and E-commerce Platforms
  • 20 Marketing Automation and Content Management
  • 21 Education Technology and Learning Management
  • 22 Legal Tech and Compliance
  • 23 Data Analytics and Business Intelligence
  • 24 Cloud Computing and DevOps

Cited on: Asynchrony, Event-driven programming

An Introduction to Parallel Programming

Peter S. Pacheco, Matthew Malensek · 2nd edition · Morgan Kaufmann (Elsevier) · 2021
dedicated to concurrency · publisher ↗

Chapters
  • 1 Why parallel computing
  • 2 Parallel hardware and parallel software
  • 3 Distributed memory programming with MPI
  • 4 Shared-memory programming with Pthreads
  • 5 Shared-memory programming with OpenMP
  • 6 GPU programming with CUDA
  • 7 Parallel program development
  • 8 Where to go from here

Cited on: Data parallelism, GPU computing, Map-reduce, MPI, OpenMP, Parallel algorithms

The Art of Multiprocessor Programming

Maurice Herlihy, Nir Shavit, Victor Luchangco, Michael Spear · 2nd edition · Morgan Kaufmann (Elsevier) · 2020
dedicated to concurrency · publisher ↗

The Little Book of Semaphores

Allen B. Downey · 2nd (version 2.2.1) edition · Green Tea Press · 2016
dedicated to concurrency · on the shelf · read it free ↗ · publisher ↗

Chapters
  • 1 Introduction
  • 2 Semaphores
  • 3 Basic synchronization patterns
  • 4 Classical synchronization problems
  • 5 Less classical synchronization problems
  • 6 Not-so-classical problems
  • 7 Not remotely classical problems
  • 8 Synchronization in Python
  • 9 Synchronization in C
  • A Cleaning up Python threads
  • B Cleaning up POSIX threads

Cited on: Classic synchronization problems, Nondeterminism, Producer-consumer, Read-write lock, Semaphore, Unbuffered channel

Seven Concurrency Models in Seven Weeks: When Threads Unravel

Paul Butcher · 1st edition · The Pragmatic Bookshelf · 2014
dedicated to concurrency · on the shelf · publisher ↗

Chapters
  • 1 Introduction
  • 2 Threads and Locks
  • 3 Functional Programming
  • 4 The Clojure Way—Separating Identity from State
  • 5 Actors
  • 6 Communicating Sequential Processes
  • 7 Data Parallelism
  • 8 The Lambda Architecture
  • 9 Wrapping Up

Cited on: Actor model, Channel, Communicating sequential processes, Data parallelism, GPU computing, Map-reduce

Concurrent Programming: Algorithms, Principles, and Foundations

Michel Raynal · 1st edition · Springer · 2013
dedicated to concurrency · on the shelf · publisher ↗

Chapters
  • 1 The Mutual Exclusion Problem
  • 2 Solving Mutual Exclusion
  • 3 Lock-Based Concurrent Objects
  • 4 Atomicity: Formal Definition and Properties
  • 5 Mutex-Free Concurrent Objects
  • 6 Hybrid Concurrent Objects
  • 7 Wait-Free Objects from Read/Write Registers Only
  • 8 Snapshot Objects from Read/Write Registers Only
  • 9 Renaming Objects from Read/Write Registers Only
  • 10 Transactional Memory
  • 11 Safe, Regular, and Atomic Read/Write Registers
  • 12 From Safe Bits to Atomic Bits: Lower Bound and Optimal Construction
  • 13 Bounded Constructions of Atomic b-Valued Registers
  • 14 Universality of Consensus
  • 15 The Case of Unreliable Base Objects
  • 16 Consensus Numbers and the Consensus Hierarchy
  • 17 The Alpha(s) and Omega of Consensus: Failure Detector-Based Consensus

Cited on: Compare-and-swap, Consensus, Consistency models, Contention, Lock-free, Monitor, Mutual exclusion, Safety and liveness, Transactional memory, Wait-free

The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications

Clay Breshears · 1st edition · O'Reilly Media · 2009
dedicated to concurrency · on the shelf

Chapters
  • 1 Want to Go Faster? Raise Your Hands if You Want to Go Faster!
  • 2 Concurrent or Not Concurrent
  • 3 Proving Correctness and Measuring Performance
  • 4 Eight Simple Rules for Designing Multithreaded Applications
  • 5 Threading Libraries
  • 6 Parallel Sum and Prefix Scan
  • 7 MapReduce
  • 8 Sorting
  • 9 Searching
  • 10 Graph Algorithms
  • 11 Threading Tools

Cited on: Critical section, Map-reduce, Model checking, Parallel prefix sum, Speedup and Amdahl's law, Thread safety, Thread-local storage

Distributed Computing: Principles, Algorithms, and Systems

Ajay D. Kshemkalyani, Mukesh Singhal · 1st edition · Cambridge University Press · 2008
dedicated to concurrency · on the shelf

Chapters
  • 1 Introduction
  • 2 A Model of Distributed Computations
  • 3 Logical Time
  • 4 Global State and Snapshot Recording Algorithms
  • 5 Terminology and Basic Algorithms
  • 6 Message Ordering and Group Communication
  • 7 Termination Detection
  • 8 Reasoning with Knowledge
  • 9 Distributed Mutual Exclusion Algorithms
  • 10 Deadlock Detection in Distributed Systems
  • 11 Global Predicate Detection
  • 12 Distributed Shared Memory
  • 13 Checkpointing and Rollback Recovery
  • 14 Consensus and Agreement Algorithms
  • 15 Failure Detectors
  • 16 Authentication in Distributed System
  • 17 Self-Stabilization
  • 18 Peer-to-Peer Computing and Overlay Graphs

Cited on: Clock skew and drift, Consensus, Consistency models, Mutual exclusion, Wait-free

The Art of Multiprocessor Programming

Maurice Herlihy, Nir Shavit · 1st edition · Morgan Kaufmann (Elsevier) · 2008
dedicated to concurrency · on the shelf · publisher ↗

Chapters
  • 1 Introduction
  • 2 Mutual Exclusion
  • 3 Concurrent Objects
  • 4 Foundations of Shared Memory
  • 5 The Relative Power of Primitive Synchronization Operations
  • 6 Universality of Consensus
  • 7 Spin Locks and Contention
  • 8 Monitors and Blocking Synchronization
  • 9 Linked Lists: The Role of Locking
  • 10 Concurrent Queues and the ABA Problem
  • 11 Concurrent Stacks and Elimination
  • 12 Counting, Sorting, and Distributed Coordination
  • 13 Concurrent Hashing and Natural Parallelism
  • 14 Skiplists and Balanced Search
  • 15 Priority Queues
  • 16 Futures, Scheduling, and Work Distribution
  • 17 Barriers
  • 18 Transactional Memory

Cited on: ABA problem, Barrier, Buffered and bounded channels, Compare-and-swap, Concurrent data structures, Consensus, Contention, Critical section, Future and promise, Hazard pointers, Linearizability, Lock ordering, Monitor, Mutual exclusion, Parallel algorithms, Producer-consumer, Reentrant lock, Sequential consistency, Shared memory, Spinlock, Transactional memory, Wait-free, Work stealing

Modern Multithreading: Implementing, Testing, and Debugging Multithreaded Java and C++/Pthreads/Win32 Programs

Richard H. Carver, Kuo-Chung Tai · 1st edition · John Wiley & Sons · 2006
dedicated to concurrency · on the shelf · publisher ↗

Chapters
  • 1 Introduction to Concurrent Programming
  • 2 The Critical Section Problem
  • 3 Semaphores and Locks
  • 4 Monitors
  • 5 Message Passing
  • 6 Message Passing in Distributed Programs
  • 7 Testing and Debugging Concurrent Programs

Cited on: Clock skew and drift, Critical section, Deterministic scheduling for tests, Livelock, Message passing, Monitor, Select, Starvation, Unbuffered channel

Introduction to Algorithms

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein · 4th edition · The MIT Press · 2022
a concurrency chapter in a broader book · on the shelf

The concurrency chapters
  • 26 Parallel Algorithms

Cited on: Fork-join, Parallel algorithms

Database Internals: A Deep Dive into How Distributed Data Systems Work

Alex Petrov · 1st edition · O'Reilly Media · 2019
a concurrency chapter in a broader book · on the shelf

The concurrency chapters
  • 8 Introduction and Overview
  • 9 Failure Detection
  • 10 Leader Election
  • 11 Replication and Consistency
  • 12 Anti-Entropy and Dissemination
  • 13 Distributed Transactions
  • 14 Consensus

Cited on: Consensus, Consistency models

Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services

Brendan Burns · 1st edition · O'Reilly Media · 2018
a concurrency chapter in a broader book · on the shelf · example code ↗

The concurrency chapters
  • 5 Replicated Load-Balanced Services
  • 6 Sharded Services
  • 7 Scatter/Gather
  • 8 Functions and Event-Driven Processing
  • 9 Ownership Election
  • 10 Work Queue Systems
  • 11 Event-Driven Batch Processing
  • 12 Coordinated Batch Processing

Cited on: Event-driven programming, Fan-out, fan-in, Task queue

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Martin Kleppmann · 1st edition · O'Reilly Media · 2017
a concurrency chapter in a broader book · on the shelf

The concurrency chapters
  • 5 Replication
  • 6 Partitioning
  • 7 Transactions
  • 8 The Trouble with Distributed Systems
  • 9 Consistency and Consensus

Cited on: Clock skew and drift, Consensus, Consistency models, Linearizability