System.Threading.Tasks Namespace
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
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 Factory 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. |
![]() | 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. |
| Enumeration | Description | |
|---|---|---|
![]() | TaskContinuationOptions | Specifies the behavior for a task that is created by using the ContinueWith() or 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. |

