Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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
Requirements
Header: concrtrm.h
Namespace: Concurrency