IScheduler Structure
An interface to an abstraction of a work scheduler. The Concurrency Runtime's Resource Manager uses this interface to communicate with work schedulers.
struct IScheduler;
Members
Public Methods
Name |
Description |
---|---|
Provides a scheduler with a set of virtual processor roots for its use. Each IVirtualProcessorRoot interface represents the right to execute a single thread that can perform work on behalf of the scheduler. |
|
Returns a unique identifier for the scheduler. |
|
Returns a copy of the scheduler's policy. For more information on scheduler policies, see SchedulerPolicy. |
|
Notifies this scheduler that the hardware threads represented by the set of virtual processor roots in the array ppVirtualProcessorRoots are now being used by other schedulers. |
|
Notifies this scheduler that the hardware threads represented by the set of virtual processor roots in the array ppVirtualProcessorRoots are not being used by other schedulers. |
|
Initiates the removal of virtual processor roots that were previously allocated to this scheduler. |
|
Provides information related to task arrival and completion rates, and change in queue length for a scheduler. |
Remarks
If you are implementing a custom scheduler that communicates with the Resource Manager, you should provide an implementation of the IScheduler interface. This interface is one end of a two-way channel of communication between a scheduler and the Resource Manager. The other end is represented by the IResourceManager and ISchedulerProxy interfaces which are implemented by the Resource Manager.
Inheritance Hierarchy
IScheduler
Requirements
Header: concrtrm.h
Namespace: concurrency