async-and-concurrency105 pages
Async and concurrency
async and await, tasks, dataflow, and the rules for running work in parallel.
- Async return types 11/22/2024
- Asynchronous programming scenarios 03/12/2025
- Cancel a list of tasks 02/09/2023
- Cancel async tasks after a period of time 02/09/2023
- Tutorial: Generate and consume async streams using C# and .NET 11/01/2022
- Asynchronous programming with async and await 03/10/2025
- Process asynchronous tasks as they complete 02/08/2023
- Task asynchronous programming model 10/13/2025
- Asynchronous file access 04/22/2026
- Attached and Detached Child Tasks 03/30/2017
- Chaining tasks using continuation tasks 10/20/2025
- Custom Partitioners for PLINQ and TPL 03/30/2017
- Data Parallelism (Task Parallel Library) 03/30/2017
- Data Structures for Parallel Programming 03/30/2017
- Dataflow (Task Parallel Library) 10/22/2025
- Exception handling (Task Parallel Library) 06/08/2022
- For Further Reading (Parallel Programming) 04/26/2018
- How to: Cancel a Dataflow Block 03/30/2017
- How to: Cancel a Parallel.For or ForEach Loop 08/18/2023
- How to: Cancel a PLINQ Query 03/30/2017
- How to: Cancel a Task and Its Children 04/09/2024
- How to: Combine Parallel and Sequential LINQ Queries 03/30/2017
- How to: Control Ordering in a PLINQ Query 03/30/2017
- How to: Create and Execute a Simple PLINQ Query 03/30/2017
- Create pre-computed tasks 05/04/2021
- How to: Handle Exceptions in a PLINQ Query 03/30/2017
- How to: Handle Exceptions in Parallel Loops 03/30/2017
- How to: Implement a Partitioner for Static Partitioning 03/30/2017
- How to: Implement a producer-consumer dataflow pattern 09/24/2020
- How to: Implement Dynamic Partitions 03/30/2017
- How to: Iterate File Directories with PLINQ 03/30/2017
- How to: Iterate File Directories with the Parallel Class 03/30/2017
- How to: Measure PLINQ Query Performance 03/30/2017
- How to: Perform Action When a Dataflow Block Receives Data 03/30/2017
- How to: Prevent a Child Task from Attaching to its Parent 03/30/2017
- How to: Return a Value from a Task 08/10/2022
- How to: Specify a Task Scheduler in a Dataflow Block 03/30/2017
- How to: Specify Merge Options in PLINQ 03/30/2017
- How to: Specify the Degree of Parallelism in a Dataflow Block 03/30/2017
- How to: Specify the Execution Mode in PLINQ 03/30/2017
- How to: Speed Up Small Loop Bodies 03/30/2017
- How to: Traverse a Binary Tree with Parallel Tasks 03/30/2017
- How to: Unlink Dataflow Blocks 03/30/2017
- How to: Unwrap a Nested Task 03/30/2017
- How to: Use JoinBlock to Read Data From Multiple Sources 03/30/2017
- How to: Use Parallel.Invoke to Execute Parallel Operations 03/30/2017
- How to: Wrap EAP Patterns in a Task 03/30/2017
- How to: Write a Custom PLINQ Aggregate Function 03/30/2017
- How to: Write a Parallel.For Loop with Thread-Local Variables 05/22/2023
- How to: Write a Parallel.ForEach loop with partition-local variables 06/26/2018
- How to: Write a Simple Parallel.For Loop 07/16/2021
- How to: Write a simple Parallel.ForEach loop 08/13/2024
- How to: Write and read messages from a Dataflow block 09/10/2020
- Parallel programming in .NET: A guide to the documentation 10/20/2025
- Introduction to PLINQ 03/30/2017
- Lambda Expressions in PLINQ and TPL 03/30/2017
- Merge Options in PLINQ 03/30/2017
- Order Preservation in PLINQ 03/30/2017
- Parallel Diagnostic Tools 03/30/2017
- PLINQ Data Sample 03/30/2017
- Potential Pitfalls in Data and Task Parallelism 03/30/2017
- Potential pitfalls with PLINQ 03/04/2026
- Task-based asynchronous programming 10/22/2025
- Task cancellation 10/20/2025
- Task Parallel Library (TPL) 10/22/2025
- TPL and traditional .NET asynchronous programming 03/30/2017
- Speedup in PLINQ 03/30/2017
- Walkthrough: Creating a Custom Dataflow Block Type 03/30/2017
- Walkthrough: Creating a Dataflow Pipeline 03/30/2017
- Walkthrough: Using BatchBlock and BatchedJoinBlock to Improve Efficiency 03/30/2017
- Walkthrough: Using Dataflow in a Windows Forms Application 03/30/2017
- Barrier 09/14/2018
- Canceling threads cooperatively 03/30/2017
- Cancellation in Managed Threads 03/17/2026
- CountdownEvent 03/30/2017
- Create threads and pass data at start time 03/30/2017
- Destroy threads 03/13/2026
- EventWaitHandle 03/30/2017
- Exceptions in managed threads 03/13/2026
- Foreground and background threads 03/30/2017
- How to: Enable Thread-Tracking Mode in SpinLock 03/30/2017
- How to: Listen for Cancellation Requests by Polling 03/30/2017
- How to: Listen for Cancellation Requests That Have Wait Handles 03/30/2017
- How to: Listen for Multiple Cancellation Requests 03/30/2017
- Register callbacks for cancellation requests 08/14/2020
- How to: Synchronize Concurrent Operations with a Barrier 03/30/2017
- How to: use SpinLock for low-level synchronization 03/30/2017
- How to: Use SpinWait to Implement a Two-Phase Wait Operation 03/30/2017
- Managed and unmanaged threading in Windows 03/13/2026
- Managed threading basics 08/06/2026
- Managed threading best practices 03/13/2026
- Mutexes 07/19/2021
- Overview of synchronization primitives 10/01/2018
- Pausing and interrupting threads 03/13/2026
- Scheduling threads 03/30/2017
- Semaphore and SemaphoreSlim 03/12/2026
- SpinLock 03/30/2017
- SpinWait 03/30/2017
- Synchronizing data for multithreading 03/30/2017
- The managed thread pool 03/13/2026
- Thread Local Storage: Thread-Relative Static Fields and Data Slots 03/30/2017
- Threading objects and features 10/01/2018
- Threads and threading 11/08/2018
- Timers 07/03/2018
- Using threads and threading 03/13/2026