次の方法で共有


IScheduler 構造体

作業スケジューラの抽象化のインターフェイスです。 同時実行ランタイムのリソース マネージャーは、このインターフェイスを使用して作業スケジューラと通信します。

struct IScheduler;

メンバー

パブリック メソッド

名前

説明

IScheduler::AddVirtualProcessors メソッド

使用できる一連の仮想プロセッサ ルートをスケジューラに提供します。 個々の IVirtualProcessorRoot インターフェイスは、スケジューラに代わって処理を実行できる単一のスレッドを実行する権利を表します。

IScheduler::GetId メソッド

スケジューラの一意の識別子を返します。

IScheduler::GetPolicy メソッド

スケジューラのポリシーのコピーを返します。 スケジューラのポリシーの詳細については、「SchedulerPolicy」を参照してください。

IScheduler::NotifyResourcesExternallyBusy メソッド

配列 ppVirtualProcessorRoots 内の一連の仮想プロセッサ ルートによって表されるハードウェア スレッドが、現在他のスケジューラによって使用されていることをこのスケジューラに通知します。

IScheduler::NotifyResourcesExternallyIdle メソッド

配列 ppVirtualProcessorRoots 内の一連の仮想プロセッサ ルートによって表されるハードウェア スレッドが、他のスケジューラによって使用されていないことをこのスケジューラに通知します。

IScheduler::RemoveVirtualProcessors メソッド

以前にこのスケジューラに割り当てられた仮想プロセッサ ルートの削除を開始します。

IScheduler::Statistics メソッド

タスクの到着と完了率、およびスケジューラのキューの長さの変更に関係する情報を提供します。

解説

リソース マネージャーと通信するカスタム スケジューラを実装する場合は、IScheduler インターフェイスの実装を提供する必要があります。 このインターフェイスは、スケジューラとリソース マネージャーを結ぶ双方向通信チャネルの一方の端を表します。 もう一方は、IResourceManager インターフェイスと ISchedulerProxy インターフェイスで表されます。この 2 つは、リソース マネージャーによって実装されます。

継承階層

IScheduler

必要条件

ヘッダー: concrtrm.h

名前空間: Concurrency

参照

参照

Concurrency 名前空間

PolicyElementKey 列挙型

SchedulerPolicy クラス

IExecutionContext 構造体

IThreadProxy 構造体

IVirtualProcessorRoot 構造体

IResourceManager 構造体