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