IExecutionResource::Remove 方法
將這個執行資源傳回資源管理員。
virtual void Remove(
_Inout_ IScheduler * pScheduler
) =0;
參數
- pScheduler
要求移除這個執行資源之排程器的介面。
備註
使用此方法以傳回獨立的執行資源,以及與資源管理器虛擬處理器根相關的執行資源。
如果這是您從 ISchedulerProxy::SubscribeCurrentThread 或 ISchedulerProxy::RequestInitialVirtualProcessors 方法收到的獨立執行資源,呼叫 Remove 方法將會結束建立資源所要代表的執行緒訂閱。 您必須先結束所有執行緒訂閱再關閉排程器 Proxy,而且必須從建立訂閱的執行緒呼叫 Remove。
虛擬處理器根同樣可以透過叫用 Remove 方法來傳回至資源管理員,因為介面 IVirtualProcessorRoot 是繼承自 IExecutionResource 介面的。 您可能需要在對 IScheduler::RemoveVirtualProcessors 方法的呼叫回應中傳回虛擬處理器根,或是在完成從 ISchedulerProxy::CreateOversubscriber 方法過度訂閱虛擬處理器根時傳回。 針對虛擬處理器根,可以在任何執行緒上叫用 Remove 方法。
如果將 pScheduler 屬性設定為 NULL,便會擲回 invalid_argument。
如果參數 pScheduler 不同於導致建立這個執行資源的排程器,或者在獨立執行資源的情況下,如果目前的執行緒不同於導致建立執行緒訂閱的執行緒,就會擲回 invalid_operation。
需求
標頭: concrtrm.h
**命名空間:**concurrency