Scheduler クラス
同時実行ランタイム スケジューラの抽象化を表します。
class Scheduler;
メンバー
プロテクト コンストラクター
名前 |
説明 |
---|---|
Scheduler クラスのオブジェクトが作成されるのは、ファクトリ メソッドを使用した場合か、暗黙的に作成された場合のみです。 |
|
Scheduler クラスのオブジェクトは、そのオブジェクトに対する外部参照が消滅したときに、暗黙的に破棄されます。 |
パブリック メソッド
名前 |
説明 |
---|---|
スケジューラを呼び出し元コンテキストにアタッチします。 このメソッドから制御が戻った後、このスケジューラによって呼び出し元コンテキストが管理され、このスケジューラが現在のスケジューラになります。 |
|
_Policy パラメーターによって動作が指定されたスケジュールを新規に作成し、そのスケジューラに初期参照を設定した後、そのスケジューラへのポインターを返します。 |
|
スケジューラ内で新しいスケジュール グループを作成します。 |
|
スケジューラの仮想プロセッサの現在の数を返します。 |
|
スケジューラの作成に使用されたポリシーのコピーを返します。 |
|
スケジューラの一意の識別子を返します。 |
|
スケジューラの参照カウントをインクリメントします。 |
|
スケジューラがシャットダウンし、自分自身を破棄するとき、_Event パラメーターに渡された Windows イベント ハンドルをシグナル状態にします。 イベントがシグナル状態になった時点で、スケジューラに割り当てられていたすべての処理が完了します。 このメソッドを使用して、複数のシャットダウン イベントを登録することができます。 |
|
このスケジューラの参照カウントをデクリメントします。 |
|
既定のスケジューラ ポリシーをランタイムの既定のポリシーにリセットします。 次に既定のスケジューラを作成すると、そのスケジューラではランタイムの既定のポリシー設定が使用されます。 |
|
スケジューラ内の軽量タスクをスケジュールします。 軽量タスクは、ランタイムによって選択されたスケジュール グループに配置されます。 |
|
ユーザー定義のポリシーを使用して既定のスケジューラを作成できるようにします。 このメソッドは、既定のスケジューラがプロセス内に存在しない場合のみ呼び出すことができます。 既定のポリシーを設定すると、SetDefaultSchedulerPolicy メソッドまたは ResetDefaultSchedulerPolicy メソッドへの有効な呼び出しが行われるまで、そのポリシーは有効になります。 |
解説
同時実行ランタイム スケジューラでは実行コンテキストを使用して、アプリケーションによってキューに置かれた処理を実行します。これは、スレッドや UMS スレッドなど、オペレーティング システムの実行コンテキストに対応します。 スケジューラの同時実行レベルは、リソース マネージャーによって許可された仮想プロセッサの数と常に等しくなります。 仮想プロセッサとは、処理リソースを抽象化したものであり、基になるシステムのハードウェア スレッドに対応しています。 指定された時点に 1 つの仮想プロセッサで実行できるスケジューラ コンテキストは 1 つのみです。
同時実行ランタイムによって、プロセスごとに既定のスケジューラが作成され、並列処理が実行されます。 さらに、独自のスケジューラ インスタンスを作成し、このクラスを使用してそれを操作することもできます。
継承階層
必要条件
ヘッダー: concrt.h
名前空間: Concurrency