Concurrency books — General and cross-language¶
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