StartNew Method (Action(Object), Object, TaskCreationOptions)

TaskFactory.StartNew Method (Action<Object>, Object, TaskCreationOptions)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Creates and starts a Task.

Namespace:  System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

public Task StartNew(
	Action<Object> action,
	Object state,
	TaskCreationOptions creationOptions


Type: System.Action<Object>
The action delegate to execute asynchronously.
Type: System.Object
An object containing data to be used by the action delegate.
Type: System.Threading.Tasks.TaskCreationOptions
A TaskCreationOptions value that controls the behavior of the created Task

Return Value

Type: System.Threading.Tasks.Task
The started Task.


The exception that is thrown when the action argument is null.


The exception that is thrown when the creationOptions argument specifies an invalid TaskCreationOptions value.

Calling StartNew is functionally equivalent to creating a Task using one of its constructors and then calling Start to schedule it for execution.

However, unless creation and scheduling must be separated, StartNew is the recommended approach for both simplicity and performance.

Windows Phone OS

Supported in: 8.1, 8.0

© 2018 Microsoft