Asynchronous Programming Design Patterns
There are a number of ways to expose asynchronous features to client code. The Event-based Asynchronous Pattern prescribes one recommended way for classes to present asynchronous behavior.
Note
Starting with the .NET Framework version 4, the Task Parallel Library provides a new model for asynchronous and parallel programming. For more information, see Parallel Programming in the .NET Framework.
In This Section
Event-based Asynchronous Pattern Overview
Describes how the Event-based Asynchronous Pattern makes available the advantages of multithreaded applications while hiding many of the complex issues inherent in multithreaded design.Implementing the Event-based Asynchronous Pattern
Describes the standardized way to package a class that has asynchronous features.Best Practices for Implementing the Event-based Asynchronous Pattern
Describes the requirements for exposing asynchronous features according to the Event-based Asynchronous Pattern.Deciding When to Implement the Event-based Asynchronous Pattern
Describes how to determine when you should choose to implement the Event-based Asynchronous Pattern instead of the IAsyncResult pattern.Walkthrough: Implementing a Component That Supports the Event-based Asynchronous Pattern
Illustrates how to create a component that implements the Event-based Asynchronous Pattern. It is implemented using helper classes from the System.ComponentModel namespace, which ensures that the component works correctly under any application model.How to: Use Components That Support the Event-based Asynchronous Pattern
Describes how to use a component that supports the Event-based Asynchronous Pattern.
Reference
AsyncOperation
Describes the AsyncOperation class and has links to all its members.AsyncOperationManager
Describes the AsyncOperationManager class and has links to all its members.BackgroundWorker
Describes the BackgroundWorker component and has links to all its members.
Related Sections
Task Parallel Library
Describes a programming model for asynchronous and parallel operations.Managed Threading
Describes multithreading features in the .NET Framework.Threading (C# and Visual Basic)
Describes multithreading features in the C# and Visual Basic languages.
See Also
Concepts
Managed Threading Best Practices