Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

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;

Public Methods

Name

Description

IScheduler::AddVirtualProcessors Method

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.

IScheduler::GetId Method

Returns a unique identifier for the scheduler.

IScheduler::GetPolicy Method

Returns a copy of the scheduler's policy. For more information on scheduler policies, see SchedulerPolicy.

IScheduler::NotifyResourcesExternallyBusy Method

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.

IScheduler::NotifyResourcesExternallyIdle Method

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.

IScheduler::RemoveVirtualProcessors Method

Initiates the removal of virtual processor roots that were previously allocated to this scheduler.

IScheduler::Statistics Method

Provides information related to task arrival and completion rates, and change in queue length for a scheduler.

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.

Header: concrtrm.h

Namespace: Concurrency

Community Additions

ADD
Show:
© 2015 Microsoft