Concurrency books — C# and .NET¶
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