次の方法で共有


Context クラス

実行コンテキストの抽象化を表します。

class Context;

メンバー

Dd470850.collapse_all(ja-jp,VS.110).gifパブリック メソッド

名前

Description

Context::Block メソッド

現在のコンテキストをブロックします。

Context::CurrentContext メソッド

現在のコンテキストへのポインターを返します。

Context::GetId メソッド

コンテキストが属するスケジューラ内で一意のコンテキストの識別子を返します。

Context::GetScheduleGroupId メソッド

コンテキストが現在実行されているスケジュール グループの識別子を返します。

Context::GetVirtualProcessorId メソッド

コンテキストが現在実行されている仮想プロセッサの識別子を返します。

Context::Id メソッド

現在のコンテキストが属するスケジューラ内で一意の現在のコンテキストの識別子を返します。

Context::IsCurrentTaskCollectionCanceling メソッド

現在のコンテキストで現在インラインで実行されているタスク コレクションがアクティブなキャンセル処理中である (または間もなくキャンセル処理が開始される) かどうかを示す値を返します。

Context::IsSynchronouslyBlocked メソッド

コンテキストが同期的にブロックされているかどうかを判断します。コンテキストがブロックを引き起こしたアクションを明示的に実行した場合、そのコンテキストは同期的にブロックされていると見なされます。

Context::Oversubscribe メソッド

スケジューラの仮想プロセッサのいずれかで実行されるコンテキストで呼び出された場合に、コード ブロックの期間中、追加の仮想プロセッサをそのスケジューラに挿入します。

Context::ScheduleGroupId メソッド

現在のコンテキストが実行されているスケジュール グループの識別子を返します。

Context::Unblock メソッド

コンテキストのブロックを解除し、実行できるようにします。

Context::VirtualProcessorId メソッド

現在のコンテキストが実行されている仮想プロセッサの識別子を返します。

Context::Yield メソッド

別のコンテキストが実行できるように、が発生します。他のコンテキストがスケジューラに譲渡使用できない場合は、別のオペレーティング システム スレッドに発生することがあります。

Dd470850.collapse_all(ja-jp,VS.110).gifプロテクト演算子

名前

Description

Context::operator delete 演算子

Context オブジェクトはランタイムによって内部的に破棄されます。これは、明示的に削除することはできません。

解説

同時実行ランタイム スケジューラ (「Scheduler」を参照してください) は、実行コンテキストを使用して、アプリケーションによってキューに入れられた作業を実行します。Win32 スレッドは、 Windows オペレーティング システムの実行コンテキストの例です。

スケジューラの同時実行レベルは、リソース マネージャーによって許可された仮想プロセッサの数と常に等しくなります。仮想プロセッサとは、処理リソースを抽象化したものであり、基になるシステムのハードウェア スレッドに対応しています。単一のスケジューラ コンテキストのみ仮想プロセッサである時点で実行できます。

スケジューラは本質的に協調的であるため、待機状態になると、常実行コンテキストが異なるコンテキストに仮想プロセッサをいつでも発生することがあります。待機状態が終了すると、スケジューラの使用可能な仮想プロセッサが実行を開始するまで再開できません。

継承階層

Context

必要条件

ヘッダー: concrt.h

名前空間: の同時実行

参照

関連項目

concurrency 名前空間

Scheduler クラス

概念

タスク スケジューラ (同時実行ランタイム)