IVirtualProcessorRoot::Activate 方法
會導致與執行內容介面 pContext 相關的執行緒 Proxy 開始在此虛擬處理器根上執行。
virtual void Activate(
IExecutionContext * pContext
) =0;
參數
- pContext
執行內容的介面,會在這個虛擬處理器根上分派。
備註
如果沒有執行緒 Proxy 與執行內容介面 pContext 相關,資源管理員會提供。
Activate 方法可用於在資源管理員所傳回的新虛擬處理器根上啟動執行工作,或是繼續在已停用或即將停用的虛擬處理器根上繼續進行執行緒 Proxy。 如需停用的詳細資訊,請參閱 IVirtualProcessorRoot::Deactivate。 當您要繼續進行已停用的虛擬處理器根時,參數 pContext 必須與用來停用虛擬處理器根的參數一樣。
第一次啟動虛擬處理器根之後,後續的 Deactivate 和 Activate 呼叫組合可能會彼此競爭。 這表示資源管理員可以接受在收到正確的 Deactivate 前接收 Activate 的呼叫。
當您啟動虛擬處理器根時,您會發出訊號到這個虛擬處理器根目前正在處理的資源管理員。 如果您的排程器找不到任何可在這個根目錄執行的工作,應會叫用 Deactivate 方法,通知資源管理員虛擬處理器根處於閒置狀態。 資源管理員會使用此資料來負載平衡系統。
如果引數 pContext 具有值 NULL,就會擲回 invalid_argument。
如果引數 invalid_operation 不代表最近由這個虛擬處理器根分派的執行內容,則會擲回 pContext。
啟動虛擬處理器根的動作會將基礎硬體執行緒訂閱層級增加一。 如需訂閱層級的詳細資訊,請參閱 IExecutionResource::CurrentSubscriptionLevel。
需求
標頭: concrtrm.h
**命名空間:**並行
請參閱
參考
IVirtualProcessorRoot::Deactivate 方法