IExecutionResource::CurrentSubscriptionLevel 方法
傳回已啟動虛擬處理器根的數目,以及目前與這個執行資源代表之基礎硬體執行緒相關的已訂閱外部執行緒。
virtual unsigned int CurrentSubscriptionLevel() const =0;
傳回值
目前的訂閱層級。
備註
訂閱層級會告訴您有多少個執行中的執行緒與硬體執行緒相關。 這只包括資源管理員察覺到形式為已訂閱執行緒的執行緒,以及主動執行執行緒 Proxy 的虛擬處理器根。
將參數 doSubscribeCurrentThread設為值 true 來呼叫方法 ISchedulerProxy::SubscribeCurrentThread 或方法 ISchedulerProxy::RequestInitialVirtualProcessors,會將硬體執行緒的訂閱層級遞增一。 它們也會傳回代表訂閱的 IExecutionResource 介面。 對應呼叫 IExecutionResource::Remove 會將硬體執行緒訂閱層級遞減一。
使用 IVirtualProcessorRoot::Activate 方法啟動虛擬處理器的動作會將硬體執行緒的訂閱層級增加一。 在已啟動的虛擬處理器根上叫用時,IVirtualProcessorRoot::Deactivate或 IExecutionResource::Remove 方法會將訂閱層級遞減一。
資源管理員會使用訂閱層級資訊作為其中一種方式,以決定要在排程器之間移動資源的時間。
需求
標頭: concrtrm.h
Namespace: 並行存取