IExecutionContext 結構
執行內容的介面,可於指定的虛擬處理器上執行,也可以合作方式切換內容。
語法
struct IExecutionContext;
成員
公用方法
名稱 | 描述 |
---|---|
IExecutionCoNtext::D ispatch | 執行緒 Proxy 開始執行特定執行內容時所呼叫的方法。 這應該是排程器的主要背景工作常式。 |
IExecutionCoNtext::GetId | 傳回執行內容的唯一識別碼。 |
IExecutionCoNtext::GetProxy | 傳回執行此內容的執行緒 Proxy 介面。 |
IExecutionCoNtext::GetScheduler | 傳回這個執行內容所屬之排程器的介面。 |
IExecutionCoNtext::SetProxy | 將執行緒 Proxy 與此執行內容產生關聯。 相關聯的執行緒 Proxy 會在開始執行內容 Dispatch 的方法之前,立即叫用這個方法。 |
備註
如果您要實作與並行執行時間 Resource Manager 介面的自訂排程器,則必須實 IExecutionContext
作 介面。 Resource Manager 所建立的執行緒會藉由執行 方法,代表排程器執行 IExecutionContext::Dispatch
工作。
繼承階層架構
IExecutionContext
需求
標頭: concrtrm.h
命名空間: concurrency
IExecutionCoNtext::D ispatch 方法
執行緒 Proxy 開始執行特定執行內容時所呼叫的方法。 這應該是排程器的主要背景工作常式。
virtual void Dispatch(_Inout_ DispatchState* pDispatchState) = 0;
參數
pDispatchState
要分派此執行內容之狀態的指標。 如需分派狀態的詳細資訊,請參閱 DispatchState 。
IExecutionCoNtext::GetId 方法
傳回執行內容的唯一識別碼。
virtual unsigned int GetId() const = 0;
傳回值
唯一的整數識別碼。
備註
您應該使用 方法 GetExecutionContextId
來取得實作 介面之物件 IExecutionContext
的唯一識別碼,再使用 介面做為 Resource Manager 提供之方法的參數。 叫用函式時 GetId
,您應該傳回相同的識別碼。
從不同來源取得的識別碼可能會導致未定義的行為。
IExecutionCoNtext::GetProxy 方法
傳回執行此內容的執行緒 Proxy 介面。
virtual IThreadProxy* GetProxy() = 0;
傳回值
IThreadProxy
介面。 如果執行內容的執行緒 Proxy 尚未使用 對 的呼叫 SetProxy
初始化,則函式必須傳回 NULL
。
備註
在內容上輸入 Dispatch
方法之前,Resource Manager 會在 SetProxy
執行內容上使用 介面做為參數叫用 IThreadProxy
方法。 您應該儲存這個引數,並在呼叫 GetProxy()
時傳回它。
IExecutionCoNtext::GetScheduler 方法
傳回這個執行內容所屬之排程器的介面。
virtual IScheduler* GetScheduler() = 0;
傳回值
IScheduler
介面。
備註
您必須先使用有效的 IScheduler
介面初始化執行內容,才能將它當做 Resource Manager 所提供方法的參數。
IExecutionCoNtext::SetProxy 方法
將執行緒 Proxy 與此執行內容產生關聯。 相關聯的執行緒 Proxy 會在開始執行內容 Dispatch
的方法之前,立即叫用這個方法。
virtual void SetProxy(_Inout_ IThreadProxy* pThreadProxy) = 0;
參數
pThreadProxy
即將在此執行內容上輸入 方法之執行緒 Proxy 的 Dispatch
介面。
備註
您應該儲存 參數 pThreadProxy
,並在呼叫 GetProxy
方法時傳回它。 Resource Manager 保證執行緒 Proxy 在執行 方法時,與執行內容相關聯的執行緒 Proxy Dispatch
不會變更。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應