ISchedulerProxy Structure

The interface by which schedulers communicate with the Concurrency Runtime's Resource Manager to negotiate resource allocation.

struct ISchedulerProxy;


Public Methods



ISchedulerProxy::BindContext Method

Associates an execution context with a thread proxy, if it is not already associated with one.

ISchedulerProxy::CreateOversubscriber Method

Creates a new virtual processor root on the hardware thread associated with an existing execution resource.

ISchedulerProxy::RequestInitialVirtualProcessors Method

Requests an initial allocation of virtual processor roots. Every virtual processor root represents the ability to execute one thread that can perform work for the scheduler.

ISchedulerProxy::Shutdown Method

Notifies the Resource Manager that the scheduler is shutting down. This will cause the Resource Manager to immediately reclaim all resources granted to the scheduler.

ISchedulerProxy::SubscribeCurrentThread Method

Registers the current thread with the Resource Manager, associating it with this scheduler.

ISchedulerProxy::UnbindContext Method

Disassociates a thread proxy from the execution context specified by the pContext parameter and returns it to the thread proxy factory's free pool. This method may only be called on an execution context which was bound via the ISchedulerProxy::BindContext method and has not yet been started via being the pContext parameter of an IThreadProxy::SwitchTo method call.


The Resource Manager hands an ISchedulerProxy interface to every scheduler that registers with it using the IResourceManager::RegisterScheduler method.

Inheritance Hierarchy



Header: concrtrm.h

Namespace: concurrency

See Also


concurrency Namespace

IScheduler Structure

IThreadProxy Structure

IVirtualProcessorRoot Structure

IResourceManager Structure