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 lessonsTasks in .Net
8 lessons- 6 When and How to Use Task Continuations
- 7 The Task Class: A Complete Walkthrough of Its Members
- 8 Task Continuations in C#
- 9 Implementing Complex Task Hierarchies with Child Tasks
- 10 Understanding ValueTask
- 11 TaskContinuationOptions
- 12 Handling Errors in C# Task Continuations
- 13 Handling Exceptions in Async Code
Concurrent Collections
5 lessonsParallel Loops in .NET
7 lessons- 19 Parallel.For
- 20 Parallel.Foreach
- 21 Managing State with ParallelLoopState and Local State
- 22 Error Handling in Parallel Loops
- 23 Implementing Retry Logic and Thread-Safe Logging
- 24 Optimizing Performance: When to Use Parallel Loops in C#
- 25 Eliminating Bottlenecks: Reducing Contention with ThreadLocal<T>
PLINQ
8 lessons- 26 LINQ vs. PLINQ: Choosing the Right Strategy for Data Processing
- 27 PLINQ: Implementation, Control, and Best Practices
- 28 Strategies for Identifying and Optimizing PLINQ Workloads
- 29 Aggregation and Action in PLINQ
- 30 How PLINQ Partitions Your Data
- 31 Combining Parallel and Sequential Modes in PLINQ
- 32 Error Handling in PLINQ
- 33 Case Study: Boosting Performance with PLINQ in Real-World Scenarios