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

Siehe auch

Weitere Ressourcen

IExecutionResource-Struktur