Partager via


IExecutionResource::CurrentSubscriptionLevel, méthode

Retourne le nombre de racines de processeur virtuel activées et de threads externes abonnés associés actuellement au thread matériel sous-jacent que cette ressource d'exécution représente.

virtual unsigned int CurrentSubscriptionLevel() const =0;

Valeur de retour

Niveau d'abonnement actuel.

Notes

Le niveau d'abonnement vous dit combien de threads en cours d'exécution sont associées au thread matériel. Cela inclut seulement les threads dont le Gestionnaire des ressources est informé dans le formulaire des threads souscrits, et les racines de processeur virtuel qui exécutent activement des proxys de thread.

L'appel de la méthode ISchedulerProxy::SubscribeCurrentThread ou de la méthode ISchedulerProxy::RequestInitialVirtualProcessors avec le paramètre doSubscribeCurrentThread défini sur true incrémente le niveau de souscription d'un thread matériel d'une unité. Une interface IExecutionResource représentant l'abonnement est également retournée. Un appel correspondant à l'IExecutionResource::Remove décrémente d'un le niveau d'abonnement du thread matériel.

L'acte d'activation d'une racine de processeur virtuel à l'aide de la méthode IVirtualProcessorRoot::Activate incrémente le niveau d'abonnement d'un thread matériel de 1. Les méthodes IVirtualProcessorRoot::Deactivate ou IExecutionResource::Remove décrémentent de un le niveau d'abonnement en cas d'appel sur une racine de processeur virtuel activée.

Le Gestionnaire des ressources utilise les informations sur le niveau d'abonnement comme moyen de déterminer quand déplacer des ressources entre des planificateurs.

Configuration requise

En-tête : concrtrm.h

Espace de noms d'accès : Concurrency

Voir aussi

Autres ressources

IExecutionResource, structure