IUMSScheduler 結構

工作排程器抽象概念的介面,需要並行執行階段的資源管理員將可使用者模式排程的 (UMS) 執行緒傳遞給它。 資源管理員會使用這個介面與 UMS 執行緒排程器進行通訊。 IUMSScheduler 介面繼承自 IScheduler 介面。

語法

struct IUMSScheduler : public IScheduler;

成員

公用方法

名稱 描述
IUMSScheduler::SetCompletionList IUMSCompletionList將介面指派給 UMS 執行緒排程器。

備註

如果您要實作與 Resource Manager 通訊的自訂排程器,而且您想要將 UMS 執行緒交給排程器,而不是一般的 Win32 執行緒,您應該提供 介面的實作 IUMSScheduler 。 此外,您應該將排程器原則索引鍵 SchedulerKind 的原則值設定為 UmsThreadDefault 。 如果原則指定 UMS 執行緒, IScheduler 傳遞為 IResourceManager::RegisterScheduler 方法的介面必須是 IUMSScheduler 介面。

Resource Manager 只能在具有 UMS 功能的作業系統上,將 UMS 執行緒交給您。 具有 Windows 7 版和更新版本的 64 位作業系統支援 UMS 執行緒。 如果您建立排程器原則, SchedulerKind 並將金鑰設定為 值 UmsThreadDefault ,且基礎平臺不支援 UMS,該原則上的索引鍵值 SchedulerKind 將會變更為 值 ThreadScheduler 。 您應該一律先讀回此原則值,再預期會收到 UMS 執行緒。

介面 IUMSScheduler 是排程器與 Resource Manager 之間雙向通道的一端。 另一端是由 IResourceManager Resource Manager 實作的 和 ISchedulerProxy 介面表示。

繼承階層架構

IScheduler

IUMSScheduler

需求

標頭: concrtrm.h

命名空間: concurrency

IUMSScheduler::SetCompletionList 方法

IUMSCompletionList將介面指派給 UMS 執行緒排程器。

virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;

參數

pCompletionList
排程器的完成清單介面。 每個排程器都有單一清單。

備註

在排程器要求初始配置資源之後,Resource Manager 會在指定其想要 UMS 執行緒的排程器上叫用此方法。 排程器可以使用 IUMSCompletionList 介面來判斷 UMS 執行緒 Proxy 何時解除封鎖。 只有從指派給 UMS 排程器之虛擬處理器根目錄上執行的執行緒 Proxy 存取此介面才有效。

另請參閱

concurrency 命名空間
PolicyElementKey
IScheduler 結構
IUMSCompletionList 結構
IResourceManager 結構