TaskScheduler Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Represents an object that handles the low-level work of queuing tasks onto threads.
Inheritance Hierarchy
System.Object
System.Threading.Tasks.TaskScheduler
Namespace: System.Threading.Tasks
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<DebuggerDisplayAttribute("Id={Id}")> _
Public MustInherit Class TaskScheduler
[DebuggerDisplayAttribute("Id={Id}")]
public abstract class TaskScheduler
The TaskScheduler type exposes the following members.
Properties
Name | Description | |
---|---|---|
Current | Gets the TaskScheduler associated with the currently executing task. | |
Default | Gets the default TaskScheduler instance that is provided by the .NET Framework. | |
Id | Gets the unique ID for this TaskScheduler. | |
MaximumConcurrencyLevel | Indicates the maximum concurrency level this TaskScheduler is able to support. |
Top
Methods
Name | Description | |
---|---|---|
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
FromCurrentSynchronizationContext | Creates a TaskScheduler associated with the current System.Threading.SynchronizationContext. | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetScheduledTasks | Security Critical. For debugger support only, generates an enumerable of Task instances currently queued to the scheduler waiting to be executed. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
QueueTask | Security Critical. Queues a Task to the scheduler. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
TryDequeue | Security Critical. Attempts to dequeue a Task that was previously queued to this scheduler. | |
TryExecuteTask | Security Critical. Attempts to execute the provided Task on this scheduler. | |
TryExecuteTaskInline | Security Critical. Determines whether the provided Task can be executed synchronously in this call, and if it can, executes it. |
Top
Events
Name | Description | |
---|---|---|
UnobservedTaskException | Occurs when a faulted Task's unobserved exception is about to trigger exception escalation policy, which, by default, would terminate the process. |
Top
Remarks
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.
Version Information
Silverlight
Supported in: 5
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
All members of the abstract TaskScheduler type are thread-safe and may be used from multiple threads concurrently.
See Also