System.Threading.Tasks Namespace
The System.Threading.Tasks namespace provides types that simplify the work of writing concurrent and asynchronous code. The main types are System.Threading.Tasks::Task which represents an asynchronous operation that can be waited on and cancelled, and System.Threading.Tasks::Task<TResult>, which is a task that can return a value. The System.Threading.Tasks::TaskFactory class provides static methods for creating and starting tasks, and the System.Threading.Tasks::TaskScheduler class provides the default thread scheduling infrastructure.
| Class | Description | |
|---|---|---|
![]() | ConcurrentExclusiveSchedulerPair | Provides task schedulers that coordinate to execute tasks while ensuring that concurrent tasks may run concurrently and exclusive tasks never do. |
![]() | Parallel | Provides support for parallel loops and regions. |
![]() | ParallelLoopState | Enables iterations of parallel loops to interact with other iterations. An instance of this class is provided by the Parallel class to each loop; you can not create instances in your code. |
![]() | ParallelOptions | Stores options that configure the operation of methods on the Parallel class. |
![]() | Task | Represents an asynchronous operation. To browse the .NET Framework source code for this type, see the Reference Source. |
![]() | Task<TResult> | Represents an asynchronous operation that can return a value. |
![]() | TaskCanceledException | Represents an exception used to communicate task cancellation. |
![]() | TaskCompletionSource<TResult> | Represents the producer side of a Task<TResult> unbound to a delegate, providing access to the consumer side through the Task property. |
![]() | TaskExtensions | Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of Task instances. |
![]() | TaskFactory | Provides support for creating and scheduling Task objects. |
![]() | TaskFactory<TResult> | Provides support for creating and scheduling Task<TResult> objects. |
![]() | TaskScheduler | Represents an object that handles the low-level work of queuing tasks onto threads. |
![]() | TaskSchedulerException | Represents an exception used to communicate an invalid operation by a TaskScheduler. |
![]() | UnobservedTaskExceptionEventArgs | Provides data for the event that is raised when a faulted Task's exception goes unobserved. |
| Structure | Description | |
|---|---|---|
![]() | ParallelLoopResult | Provides completion status on the execution of a Parallel loop. |
| Enumeration | Description | |
|---|---|---|
![]() | TaskContinuationOptions | Specifies the behavior for a task that is created by using the Task::ContinueWith or Task<TResult>::ContinueWith method. |
![]() | TaskCreationOptions | Specifies flags that control optional behavior for the creation and execution of tasks. |
![]() | TaskStatus | Represents the current stage in the lifecycle of a Task. |


