Skip to content

Concurrency books — C# and .NET

All book lists · Concepts

Parallel Programming and Concurrency with C# 10 and .NET 6

Alvin Ashcraft · 1st edition · Packt Publishing · 2022
dedicated to concurrency · on the shelf · example code ↗

Chapters
  • 1 Managed Threading Concepts
  • 2 Evolution of Multithreaded Programming in .NET
  • 3 Best Practices for Managed Threading
  • 4 User Interface Responsiveness and Threading
  • 5 Asynchronous Programming with C#
  • 6 Parallel Programming Concepts
  • 7 Task Parallel Library (TPL) and Dataflow
  • 8 Parallel Data Structures and Parallel LINQ
  • 9 Working with Concurrent Collections in .NET
  • 10 Debugging Multithreaded Applications with Visual Studio
  • 11 Canceling Asynchronous Work
  • 12 Unit Testing Async, Concurrent, and Parallel Code

Cited on: Blocking the event loop, Daemon and detached threads, Dataflow programming, Deadlock, Parallel iterators and streams, Pipeline, Race condition, Task parallelism, UI thread

Concurrency in C# Cookbook: Asynchronous, Parallel, and Multithreaded Programming

Stephen Cleary · 2nd edition · O'Reilly Media · 2019
dedicated to concurrency · on the shelf

Chapters
  • 1 Concurrency: An Overview
  • 2 Async Basics
  • 3 Asynchronous Streams
  • 4 Parallel Basics
  • 5 Dataflow Basics
  • 6 System.Reactive Basics
  • 7 Testing
  • 8 Interop
  • 9 Collections
  • 10 Cancellation
  • 11 Functional-Friendly OOP
  • 12 Synchronization
  • 13 Scheduling
  • 14 Scenarios
  • B Recognizing and Interpreting Asynchronous Patterns

Cited on: Async stream, Cancellation, Concurrency, Dataflow programming, Immutability, Parallel iterators and streams, Polling, Reactive programming, Scheduler, Timeout

Concurrency in .NET: Modern patterns of concurrent and parallel programming

Riccardo Terrell · 1st edition · Manning Publications · 2018
dedicated to concurrency · on the shelf · publisher ↗ · example code ↗

Chapters
  • 1 Functional concurrency foundations
  • 2 Functional programming techniques for concurrency
  • 3 Functional data structures and immutability
  • 4 The basics of processing big data: data parallelism, part 1
  • 5 PLINQ and MapReduce: data parallelism, part 2
  • 6 Real-time event streams: functional reactive programming
  • 7 Task-based functional parallelism
  • 8 Task asynchronicity for the win
  • 9 Asynchronous functional programming in F#
  • 10 Functional combinators for fluent concurrent programming
  • 11 Applying reactive programming everywhere with agents
  • 12 Parallel workflow and agent programming with TPL Dataflow
  • 13 Recipes and design patterns for successful concurrent programming
  • 14 Building a scalable mobile app with concurrent functional programming

Cited on: Blocking and non-blocking calls, Data parallelism, Dataflow programming, Immutability, Map-reduce, Parallel iterators and streams, Reactive programming, Task (async), Task parallelism

Pro Asynchronous Programming with .NET

Richard Blewett, Andrew Clymer · 1st edition · Apress · 2013
dedicated to concurrency · on the shelf · publisher ↗ · example code ↗

Chapters
  • 1 An Introduction to Asynchronous Programming
  • 2 The Evolution of the .NET Asynchronous API
  • 3 Tasks
  • 4 Basic Thread Safety
  • 5 Concurrent Data Structures
  • 6 Asynchronous UI
  • 7 async and await
  • 8 Everything a Task
  • 9 Server-Side Async
  • 10 TPL Dataflow
  • 11 Parallel Programming
  • 12 Task Scheduling
  • 13 Debugging Async with Visual Studio
  • 14 Debugging Async —Beyond Visual Studio

Cited on: Async and await, Barrier, Dataflow programming, Join, Monitor, Parallelism, Producer-consumer, Semaphore, Task (async), Task parallelism, Thread safety, Timers and tickers, UI thread, Unbuffered channel

Concurrent Programming on Windows

Joe Duffy · 1st edition · Addison-Wesley (Pearson Education) · 2009
dedicated to concurrency · on the shelf

Chapters
  • 1 Introduction
  • 2 Synchronization and Time
  • 3 Threads
  • 4 Advanced Threads
  • 5 Windows Kernel Synchronization
  • 6 Data and Control Synchronization
  • 7 Thread Pools
  • 8 Asynchronous Programming Models
  • 9 Fibers
  • 10 Memory Models and Lock Freedom
  • 11 Concurrency Hazards
  • 12 Parallel Containers
  • 13 Data and Task Parallelism
  • 14 Performance and Scalability
  • 15 Input and Output
  • 16 Graphical User Interfaces
  • A Designing Reusable Libraries for Concurrent .NET Programs
  • B Parallel Extensions to .NET

Cited on: Asynchrony, Clock skew and drift, Concurrent data structures, Condition variable, Consistency models, Debugging concurrent programs, Fiber, Lock-free, Message passing, Mutual exclusion, Profiling concurrent programs, Read-write lock, Safety and liveness, Speedup and Amdahl's law, Task parallelism, Thread, Thread pool and executor, UI thread, Weak memory models and reordering

Programming C# 12: Build Cloud, Web, and Desktop Applications

Ian Griffiths · 1st (C# 12) edition · O'Reilly Media · 2024
a concurrency chapter in a broader book · on the shelf · example code ↗

The concurrency chapters
  • 11 Rx: Reactive Extensions
  • 16 Multithreading
  • 17 Asynchronous Language Features

Cited on: Reactive programming

C# 10 in a Nutshell: The Definitive Reference

Joseph Albahari · 1st (C# 10) edition · O'Reilly Media · 2022
a concurrency chapter in a broader book · on the shelf

The concurrency chapters
  • 14 Concurrency and Asynchrony
  • 21 Advanced Threading
  • 22 Parallel Programming

Cited on: Parallel iterators and streams, Run-once initialization, Timers and tickers