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<TResult>, 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.

Classes

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.

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.

Structs

ParallelLoopResult

Provides completion status on the execution of a Parallel loop.

ValueTask
ValueTask<TResult>

Provides a value type that wraps a Task<TResult> and a TResult, only one of which is used.

Enums

TaskContinuationOptions

Specifies the behavior for a task that is created by using the ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) or ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) 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.