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 Task which represents an asynchronous operation that can be waited on and cancelled, and Task`1, which is a task that can return a value. The TaskFactory class provides static methods for creating and starting tasks, and the TaskScheduler class provides the default thread scheduling infrastructure.

Remarks

 

Classes

TypeReason
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.

ParallelLoopResult

Provides completion status on the execution of a Parallel loop.

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 user code.

ParallelOptions

Stores options that configure the operation of methods on the Parallel class.

Task

Represents an asynchronous operation.

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`1 unbound to a delegate, providing access to the consumer side through the TaskCompletionSource`1.Task property.

TaskContinuationOptions

Specifies the behavior for a task that is created by using the Task.ContinueWith(Action<Task>,CancellationToken,TaskContinuationOptions,TaskScheduler) or System.Threading.Tasks.Task`1.ContinueWith(Action<System.Threading.Tasks.Task<`0>>,System.Threading.Tasks.TaskContinuationOptions) method.

TaskCreationOptions

Specifies flags that control optional behavior for the creation and execution of tasks.

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`1 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.

TaskStatus

Represents the current stage in the lifecycle of a Task.

UnobservedTaskExceptionEventArgs

Provides data for the event that is raised when a faulted Task's exception goes unobserved.