TaskScheduler.TryExecuteTask(Task) Method

Definition

Attempts to execute the provided Task on this scheduler.

protected:
 bool TryExecuteTask(System::Threading::Tasks::Task ^ task);
[System.Security.SecurityCritical]
protected bool TryExecuteTask (System.Threading.Tasks.Task task);
protected bool TryExecuteTask (System.Threading.Tasks.Task task);
[<System.Security.SecurityCritical>]
member this.TryExecuteTask : System.Threading.Tasks.Task -> bool
member this.TryExecuteTask : System.Threading.Tasks.Task -> bool
Protected Function TryExecuteTask (task As Task) As Boolean

Parameters

task
Task

A Task object to be executed.

Returns

A Boolean that is true if task was successfully executed, false if it was not. A common reason for execution failure is that the task had previously been executed or is in the process of being executed by another thread.

Attributes

Exceptions

The task is not associated with this scheduler.

Remarks

Scheduler implementations are provided with Task instances to be executed through either the QueueTask method or the TryExecuteTaskInline method. When the scheduler deems it appropriate to run the provided task, TryExecuteTask should be used to do so. TryExecuteTask handles all aspects of executing a task, including action invocation, exception handling, state management, and lifecycle control.

TryExecuteTask must only be used for tasks provided to this scheduler by the .NET Framework infrastructure. It should not be used to execute arbitrary tasks obtained through custom mechanisms.

Applies to

See also