IExecutionResource Structure

An abstraction for a hardware thread.

struct IExecutionResource;


Public Methods



IExecutionResource::CurrentSubscriptionLevel Method

Returns the number of activated virtual processor roots and subscribed external threads currently associated with the underlying hardware thread this execution resource represents.

IExecutionResource::GetExecutionResourceId Method

Returns a unique identifier for the hardware thread that this execution resource represents.

IExecutionResource::GetNodeId Method

Returns a unique identifier for the processor node that this execution resource belongs to.

IExecutionResource::Remove Method

Returns this execution resource to the Resource Manager.


Execution resources can be standalone or associated with virtual processor roots. A standalone execution resource is created when a thread in your application creates a thread subscription. The methods ISchedulerProxy::SubscribeThread and ISchedulerProxy::RequestInitialVirtualProcessors create thread subscriptions, and return an IExecutionResource interface representing the subscription. Creating a thread subscription is a way to inform the Resource Manager that a given thread will participate in the work queued to a scheduler, along with the virtual processor roots Resource Manager assigns to the scheduler. The Resource Manager uses the information to avoid oversubscribing hardware threads where it can.

Inheritance Hierarchy



Header: concrtrm.h

Namespace: concurrency

See Also


concurrency Namespace

IVirtualProcessorRoot Structure

ISchedulerProxy::SubscribeCurrentThread Method

ISchedulerProxy::RequestInitialVirtualProcessors Method