High-Performance .NET: Async, Multithreading, and Parallel Programming

Lessons are ordered. Start at the top and work your way down, one lesson at a time.

37 lessons 6 topics

Browse topics (6)

Understanding Threads

5 lessons
  1. 1 Understanding the .NET Thread Class Updated 22 Jan 2026
  2. 2 Passing Parameters to Managed Threads Updated 22 Jan 2026
  3. 3 Waiting for Threads with Join Updated 22 Jan 2026
  4. 4 Graceful Termination: How to Stop a Thread Safely Updated 22 Jan 2026
  5. 5 Managing CPU Allocation: Understanding Thread Priority Updated 22 Jan 2026

Tasks in .Net

8 lessons
  1. 6 When and How to Use Task Continuations Updated 28 Aug 2026
  2. 7 The Task Class: A Complete Walkthrough of Its Members Updated 28 Aug 2026
  3. 8 Task Continuations in C# Updated 22 Jan 2026
  4. 9 Implementing Complex Task Hierarchies with Child Tasks Updated 28 Aug 2026
  5. 10 Understanding ValueTask Updated 28 Aug 2026
  6. 11 TaskContinuationOptions Updated 22 Jan 2026
  7. 12 Handling Errors in C# Task Continuations Updated 22 Jan 2026
  8. 13 Handling Exceptions in Async Code Updated 28 Aug 2026

Concurrent Collections

5 lessons
  1. 14 ConcurrentBag Updated 26 Jul 2026
  2. 15 ConcurrentDictionary Updated 26 Jul 2026
  3. 16 ConcurrentQueue Updated 26 Jul 2026
  4. 17 ConcurrentStack Updated 26 Jul 2026
  5. 18 BlockingCollection Updated 26 Jul 2026

Parallel Loops in .NET

7 lessons
  1. 19 Parallel.For Updated 27 Jul 2026
  2. 20 Parallel.Foreach Updated 27 Jul 2026
  3. 21 Managing State with ParallelLoopState and Local State Updated 27 Jul 2026
  4. 22 Error Handling in Parallel Loops Updated 19 Jan 2026
  5. 23 Implementing Retry Logic and Thread-Safe Logging Updated 19 Jan 2026
  6. 24 Optimizing Performance: When to Use Parallel Loops in C# Updated 19 Jan 2026
  7. 25 Eliminating Bottlenecks: Reducing Contention with ThreadLocal<T> Updated 19 Jan 2026

PLINQ

8 lessons
  1. 26 LINQ vs. PLINQ: Choosing the Right Strategy for Data Processing Updated 20 Jan 2026
  2. 27 PLINQ: Implementation, Control, and Best Practices Updated 20 Jan 2026
  3. 28 Strategies for Identifying and Optimizing PLINQ Workloads Updated 20 Jan 2026
  4. 29 Aggregation and Action in PLINQ Updated 20 Jan 2026
  5. 30 How PLINQ Partitions Your Data Updated 20 Jan 2026
  6. 31 Combining Parallel and Sequential Modes in PLINQ Updated 20 Jan 2026
  7. 32 Error Handling in PLINQ Updated 20 Jan 2026
  8. 33 Case Study: Boosting Performance with PLINQ in Real-World Scenarios Updated 20 Jan 2026

Concurrency

4 lessons
  1. 34 Processing a Sequence of Items in the Background Updated 27 Aug 2026
  2. 35 Canceling Background Work Updated 27 Aug 2026
  3. 36 Exceptions and async/await Updated 27 Aug 2026
  4. 37 Controlling Which Thread Runs Your Asynchronous Code Updated 27 Aug 2026