IExecutionResource::CurrentSubscriptionLevel-Methode
Gibt die Anzahl der aktivierten virtuellen Prozessorstämme und abonnierten externen Threads zurück, die dem zugrunde liegenden Hardwarethread, den diese Ausführungsressource darstellt, gerade zugeordnet sind.
virtual unsigned int CurrentSubscriptionLevel() const =0;
Rückgabewert
Die aktuelle Abonnementebene.
Hinweise
Die Abonnementebene besagt, wie viele aktive Threads dem Hardwarethread zugeordnet sind. Dies schließt nur Threads ein, die vom Ressourcen-Manager beachtet werden, in Form abonnierter Threads und virtueller Prozessorstämme, die Threadproxys aktiv ausführen.
Durch das Aufrufen der ISchedulerProxy::SubscribeCurrentThread-Methode oder der ISchedulerProxy::RequestInitialVirtualProcessors-Methode mit dem doSubscribeCurrentThread-Parameterwert true wird die Abonnementebene eines Hardwarethreads um 1 erhöht. Sie geben auch eine IExecutionResource-Schnittstelle zurück, die das Abonnement darstellt. Ein entsprechender Aufruf von IExecutionResource::Remove dekrementiert die Abonnementebene des Hardwarethreads um 1.
Durch das Aktivieren eines virtuellen Prozessorstamms mit der IVirtualProcessorRoot::Activate-Methode wird die Abonnementebene eines Hardwarethreads um eins inkrementiert. Die Methoden IVirtualProcessorRoot::Deactivate oder IExecutionResource::Remove dekrementieren die Abonnementebene um eins, wenn sie für den Stamm eines aktivierten virtuellen Prozessors aufgerufen werden.
Der Ressourcen-Manager verwendet Abonnementebeneninformationen als eine der Methoden zu bestimmen, wann Ressourcen zwischen Planern zu verschieben sind.
Anforderungen
Header: concrtrm.h
Namespace: Concurrency