IUMSScheduler 構造体
同時実行ランタイムのリソース マネージャーによってユーザー モード スケジュール可能 (UMS) スレッドが渡される必要がある作業スケジューラの抽象化のインターフェイスです。 リソース マネージャーでは、このインターフェイスを使用して UMS スレッド スケジューラと通信します。 IUMSScheduler インターフェイスは IScheduler インターフェイスを継承します。
struct IUMSScheduler : public IScheduler;
メンバー
パブリック メソッド
名前 |
説明 |
---|---|
UMS スレッド スケジューラに IUMSCompletionList インターフェイスを割り当てます。 |
解説
リソース マネージャーと通信するカスタム スケジューラを実装するときに、スケジューラに Win32 スレッドではなく UMS スレッドを渡す場合には、IUMSScheduler インターフェイスの実装を提供する必要があります。 さらに、スケジューラ ポリシー キー SchedulerKind のポリシー値を UmsThreadDefault に設定する必要があります。 ポリシーによって UMS スレッドが指定される場合、IResourceManager::RegisterScheduler メソッドにパラメーターとして渡される IScheduler インターフェイスは、IUMSScheduler インターフェイスであることが必要です。
リソース マネージャーは、UMS 機能を持つオペレーティング システムでのみ、UMS スレッドを渡します。UMS スレッドは、Windows 7 以上の 64 ビット版オペレーティング システムでサポートされます。 SchedulerKind キーの値が UmsThreadDefault に設定されているスケジューラ ポリシーを作成するとき、基になるプラットフォームで UMS がサポートされていない場合、そのポリシーの SchedulerKind キーの値は ThreadScheduler に変更されます。 UMS スレッドを受け取ることを想定する場合は、このポリシーの値を必ず確認してください。
IUMSScheduler インターフェイスは、スケジューラとリソース マネージャーを結ぶ双方向チャネルの一方の端を表します。 もう一方は、IResourceManager インターフェイスと ISchedulerProxy インターフェイスで表されます。この 2 つは、リソース マネージャーによって実装されます。
継承階層
IUMSScheduler
必要条件
ヘッダー: concrtrm.h
名前空間: concurrency