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