Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
This topic has not yet been rated - Rate this topic

TaskScheduler Class

Represents an object that handles the low-level work of queuing tasks onto threads.

System.Object
  System.Threading.Tasks.TaskScheduler

Namespace:  System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)
[DebuggerDisplayAttribute("Id={Id}")]
public abstract class TaskScheduler

The TaskScheduler type exposes the following members.

  NameDescription
Protected methodTaskSchedulerInitializes the TaskScheduler.
Top
  NameDescription
Public propertyStatic memberCurrentGets the TaskScheduler associated with the currently executing task.
Public propertyStatic memberDefaultGets the default TaskScheduler instance that is provided by the .NET Framework.
Public propertyIdGets the unique ID for this TaskScheduler.
Public propertyMaximumConcurrencyLevelIndicates the maximum concurrency level this TaskScheduler is able to support.
Top
  NameDescription
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodStatic memberFromCurrentSynchronizationContextCreates a TaskScheduler associated with the current System.Threading.SynchronizationContext.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Protected methodGetScheduledTasksSecurity Critical. For debugger support only, generates an enumerable of Task instances currently queued to the scheduler waiting to be executed.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodQueueTaskSecurity Critical. Queues a Task to the scheduler.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodTryDequeueSecurity Critical. Attempts to dequeue a Task that was previously queued to this scheduler.
Protected methodTryExecuteTaskSecurity Critical. Attempts to execute the provided Task on this scheduler.
Protected methodTryExecuteTaskInlineSecurity Critical. Determines whether the provided Task can be executed synchronously in this call, and if it can, executes it.
Top
  NameDescription
Public eventStatic memberUnobservedTaskExceptionOccurs when a faulted Task's unobserved exception is about to trigger exception escalation policy, which, by default, would terminate the process.
Top

TaskScheduler acts as the extension point for all pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and how scheduled tasks should be exposed to debuggers.

For more information and code examples, see Task Schedulers.

Several sample task schedulers are available on Code Gallery: Samples for Parallel Programming with the .NET Framework 4.

Silverlight

Supported in: 5

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

All members of the abstract TaskScheduler type are thread-safe and may be used from multiple threads concurrently.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft. All rights reserved.