Context クラス
実行コンテキストの抽象化を表します。
class Context;
メンバー
プロテクト コンストラクター
名前 |
説明 |
---|---|
パブリック メソッド
名前 |
説明 |
---|---|
現在のコンテキストをブロックします。 |
|
現在のコンテキストへのポインターを返します。 |
|
コンテキストが属するスケジューラ内で一意のコンテキストの識別子を返します。 |
|
コンテキストが現在実行されているスケジュール グループの識別子を返します。 |
|
コンテキストが現在実行されている仮想プロセッサの識別子を返します。 |
|
現在のコンテキストが属するスケジューラ内で一意の現在のコンテキストの識別子を返します。 |
|
現在のコンテキストで現在インラインで実行されているタスク コレクションがアクティブなキャンセル処理中である (または間もなくキャンセル処理が開始される) かどうかを示す値を返します。 |
|
コンテキストが同期的にブロックされているかどうかを判断します。 コンテキストがブロックを引き起こしたアクションを明示的に実行した場合、そのコンテキストは同期的にブロックされていると見なされます。 |
|
スケジューラの仮想プロセッサのいずれかで実行されるコンテキストで呼び出された場合に、コード ブロックの期間中、追加の仮想プロセッサをそのスケジューラに挿入します。 |
|
現在のコンテキストが実行されているスケジュール グループの識別子を返します。 |
|
コンテキストのブロックを解除し、実行できるようにします。 |
|
現在のコンテキストが実行されている仮想プロセッサの識別子を返します。 |
|
別のコンテキストが実行できるように実行を譲歩します。 実行の権利を譲る他のコンテキストが存在しない場合、スケジューラによって別のオペレーティング システム スレッドに明け渡されます。 |
解説
同時実行ランタイム スケジューラ (「Scheduler」を参照してください) は、実行コンテキストを使用して、アプリケーションによってキューに入れられた作業を実行します。 Win32 スレッドは、Windows オペレーティング システムの実行コンテキストの例です。
スケジューラの同時実行レベルは、リソース マネージャーによって許可された仮想プロセッサの数と常に等しくなります。 仮想プロセッサとは、処理リソースを抽象化したものであり、基になるシステムのハードウェア スレッドに対応しています。 指定された時点に 1 つの仮想プロセッサで実行できるスケジューラ コンテキストは 1 つのみです。
スケジューラは本質的に協調的であるため、実行コンテキストが待機状態になると、常に仮想プロセッサを別のコンテキストに渡す可能性があります。 待機状態が終了すると、スケジューラの使用可能な仮想プロセッサが実行を開始するまで再開できません。
継承階層
Context
必要条件
ヘッダー: concrt.h
名前空間: concurrency