コンカレンシー名前空間を持つ列挙型

agent_status列挙

agent の有効な状態。

enum agent_status;

名前 説明
agent_canceled agent は取り消されました。
agent_created agent は作成されましたが、開始されていません。
agent_done agent はキャンセルされずに終了しました。
agent_runnable agent は開始されましたが、run メソッドに入っていません。
agent_started agent が開始されました。

解説

詳細については、「非同期エージェント」を参照してください。

必要条件

ヘッダー: concrt.h

Agents_EventType列挙

エージェント ライブラリによって提供されるトレース機能を使用してトレースできるイベントの種類。

enum Agents_EventType;

名前 説明
AGENTS_EVENT_CREATE オブジェクトの作成を表すイベントの種類
AGENTS_EVENT_DESTROY オブジェクトの削除を表すイベントの種類
AGENTS_EVENT_END 処理の終了を表すイベントの種類
AGENTS_EVENT_LINK メッセージ ブロックのリンクを表すイベントの種類
AGENTS_EVENT_NAME オブジェクトの名前を表すイベントの種類
AGENTS_EVENT_SCHEDULE プロセスのスケジューリングを表すイベントの種類
AGENTS_EVENT_START 処理の開始を表すイベントの種類
AGENTS_EVENT_UNLINK メッセージ ブロックのリンク解除を表すイベントの種類

必要条件

ヘッダー: concrt.h

ConcRT_EventType列挙

コンカレンシー ランタイムによって提供されるトレース機能を使用してトレースできるイベントの種類。

enum ConcRT_EventType;

名前 説明
CONCRT_EVENT_ATTACH スケジューラにアタッチする動作を表すイベントの種類。
CONCRT_EVENT_BLOCK コンテキストをブロックする動作を表すイベントの種類。
CONCRT_EVENT_DETACH スケジューラからデタッチする動作を表すイベントの種類。
CONCRT_EVENT_END 開始/終了イベント ペアの先頭をマークするイベントの種類。
CONCRT_EVENT_GENERIC その他のイベントに使用されるイベントの種類。
CONCRT_EVENT_IDLE コンテキストがアイドル状態になる動作を表すイベントの種類。
CONCRT_EVENT_START 開始/終了イベント ペアの先頭をマークするイベントの種類。
CONCRT_EVENT_UNBLOCK コンテキストのブロックを解除する動作を表すイベントの種類。
CONCRT_EVENT_YIELD コンテキストを生成する動作を表すイベントの種類。

必要条件

ヘッダー: concrt.h 名前空間: concurrency

Concrt_TraceFlags列挙

イベントの種類のトレース フラグ。

enum Concrt_TraceFlags;

名前 説明
AgentEventFlag
AllEventsFlag
ContextEventFlag
PPLEventFlag
ResourceManagerEventFlag
SchedulerEventFlag
VirtualProcessorEventFlag

必要条件

ヘッダー: concrt.h

CriticalRegionType 列挙

コンテキストが存在するクリティカル領域の種類。

enum CriticalRegionType;

名前 説明
InsideCriticalRegion コンテキストがクリティカル領域内にあることを示します。 クリティカル領域内にある場合、非同期中断はスケジューラから隠されます。 このような中断が発生した場合、Resource Manager はスレッドが実行可能になるのを待ち、スケジューラを再度呼び出すのではなく、単にスレッドを再開します。 このような領域内で取得するロックは、細心の注意を払って取得する必要があります。
InsideHyperCriticalRegion コンテキストがハイパークリティカル領域内にあることを示します。 ハイパークリティカル領域内にある場合、同期中断と非同期中断の両方がスケジューラから隠されます。 このような中断またはブロックが発生した場合、リソース マネージャーはスレッドが実行可能になるのを待ち、スケジューラを再度呼び出すのではなく、単にスレッドを再開します。 このような領域内で取得されるロックは、このような領域の外部で実行されているコードと共有することはできません。 これを行うと、予測できないデッドロックが発生します。
OutsideCriticalRegion コンテキストがクリティカル領域の外部にあることを示します。

必要条件

ヘッダー: concrtrm.h

DynamicProgressFeedbackType 列挙型

DynamicProgressFeedback ポリシーによって使用され、スケジューラのリソースのバランスを再調整する際の判断基準として、スケジューラから収集された統計情報に従うか、または Activate インターフェイスの Deactivate メソッドおよび IVirtualProcessorRoot メソッドの呼び出しによってアイドル状態との間で状態が変化する仮想プロセッサのみに基づくかを示します。 使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey」を参照してください。

enum DynamicProgressFeedbackType;

名前 説明
ProgressFeedbackDisabled スケジューラは進行状況情報を収集しません。 再調整は、基になるハードウェア スレッドのサブスクリプション レベルのみに基づいて行われます。 サブスクリプション レベルの詳細については、「IExecutionResource::CurrentSubscriptionLevel」を参照してください。

この値は、ランタイムで使用するために予約されています。
ProgressFeedbackEnabled スケジューラは進行状況情報を収集し、それをリソース マネージャーに渡します。 リソース マネージャーは、基になるハードウェア スレッドのサブスクリプション レベルに加えて、この統計情報を利用してスケジューラに代わってリソースを再調整します。 サブスクリプション レベルの詳細については、「IExecutionResource::CurrentSubscriptionLevel」を参照してください。

join_type列挙

join メッセージング ブロックの種類。

enum join_type;

名前 説明
greedy 最長一致の join メッセージング ブロックは、伝達時にメッセージをすぐに受け入れます。 これはより効率的ですが、ネットワーク構成によってはライブロックが発生する可能性があります。
non_greedy 最短一致の join メッセージング ブロックはメッセージを延期し、すべて到着した後にそれらの使用を試みます。 これらは動作が保証されていますが、時間がかかります。

必要条件

ヘッダー: agents.h

message_status列挙

ブロックへの message オブジェクトの提供に対する有効な応答。

enum message_status;

名前 説明
accepted ターゲットはメッセージを受け入れました。
declined ターゲットはメッセージを受け入れませんでした。
missed ターゲットはメッセージを受け入れようとしましたが、使用できなくなりました。
postponed ターゲットはメッセージを延期しました。

必要条件

ヘッダー: agents.h

PolicyElementKey 列挙型

ポリシー キーは、スケジューラの動作をさまざまな側面から表します。 各ポリシー要素は、キーと値の組み合わせで表現されます。 スケジューラ ポリシーと、スケジューラに対するその影響の詳細については、タスク スケジューラに関するページをご覧ください。

enum PolicyElementKey;

名前 説明
ContextPriority スケジューラの各コンテキストのオペレーティング システム スレッドの優先度。 このキーが値 INHERIT_THREAD_PRIORITY に設定されている場合、スケジューラのコンテキストは、スケジューラを作成したスレッドの優先度を継承します。

有効な値: Windows の SetThreadPriority 関数の有効な値のいずれかと、特殊な値 INHERIT_THREAD_PRIORITY

既定値:THREAD_PRIORITY_NORMAL
ContextStackSize スケジューラの各コンテキストの予約済みスタック サイズ (KB 単位)。

有効な値: 正の整数

既定値: 0。これは、スタック サイズにプロセスの既定値が使用されることを示します。
DynamicProgressFeedback スケジューラのリソースを、スケジューラから収集された統計情報に従って再調整するか、基になるハードウェア スレッドのサブスクリプション レベルのみに基づいて再調整するかを決定します。 詳細については、DynamicProgressFeedbackType を参照してください。

有効な値: DynamicProgressFeedbackType 列挙型のメンバーである ProgressFeedbackEnabled または ProgressFeedbackDisabled

既定値:ProgressFeedbackEnabled
LocalContextCacheSize SchedulingProtocol ポリシー キーが値 EnhanceScheduleGroupLocality に設定されている場合、これは、仮想プロセッサのローカル キューごとにキャッシュできる実行可能なコンテキストの最大数を指定します。 通常、このようなコンテキストは、それらを実行可能にした仮想プロセッサ上で後入れ先出し (LIFO) の順序で実行されます。 SchedulingProtocol キーが値 EnhanceForwardProgress に設定されている場合、このポリシー キーには意味がないことに注意してください。

有効な値: 非負整数

既定値:8
MaxConcurrency スケジューラが必要とする最大コンカレンシー レベル。 リソース マネージャーは、最初にこの数の仮想プロセッサを割り当てることを試みます。 特殊な値 MaxExecutionResources は、必要なコンカレンシー レベルがマシン上のハードウェア スレッドの数と同じであることを示します。 MinConcurrency に指定された値がマシン上のハードウェア スレッドの数を超えており、MaxConcurrencyMaxExecutionResources が指定されている場合、MinConcurrency に設定されている値と一致するように MaxConcurrency の値が引き上げられます。

有効な値: 正の整数と特殊な値 MaxExecutionResources

既定値:MaxExecutionResources
MaxPolicyElementKey 最大ポリシー要素キー。 有効な要素キーではありません。
MinConcurrency リソース マネージャーがスケジューラに提供する必要がある最小コンカレンシー レベル。 スケジューラに割り当てられる仮想プロセッサの数が最小値を下回ることはありません。 特殊な値 MaxExecutionResources は、最小コンカレンシー レベルがマシン上のハードウェア スレッドの数と同じであることを示します。 MaxConcurrency に指定された値がマシン上のハードウェア スレッドの数より小さく、MinConcurrencyMaxExecutionResources が指定されている場合、MaxConcurrency に設定されている値と一致するように MinConcurrency の値が引き下げられます。

有効な値: 非負整数と特殊な値 MaxExecutionResources。 同時実行ランタイム スケジューラの構築に使用されるスケジューラ ポリシーでは、値 0 は無効です。

既定値:1
SchedulerKind スケジューラが基になる実行コンテキストに使用するスレッドの種類。 詳細については、SchedulerType を参照してください。

有効な値: SchedulerType 列挙型のメンバー (ThreadScheduler など)

既定値: ThreadScheduler これは、すべてのオペレーティング システムで Win32 スレッドに変換されます。
SchedulingProtocol スケジューラが使用するスケジューリング アルゴリズムを示します。 詳細については、SchedulingProtocolType を参照してください。

有効な値: SchedulingProtocolType 列挙型のメンバーである EnhanceScheduleGroupLocality または EnhanceForwardProgress

既定値:EnhanceScheduleGroupLocality
TargetOversubscriptionFactor ハードウェア スレッドごとの仮想プロセッサの暫定的なな数。 マシン上のハードウェア スレッドで MaxConcurrency を満たすために、Resource Manager は必要に応じてターゲットのオーバーサブスクリプション係数を増やすことができます。

有効な値: 正の整数

既定値:1
WinRTInitialization

必要条件

ヘッダー: concrt.h

SchedulerType 列挙型

基になる実行コンテキスト用にスケジューラが利用するスレッドの種類を示すために、SchedulerKind ポリシーにより使用されます。 使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey」を参照してください。

enum SchedulerType;

名前 説明
ThreadScheduler 通常の Win32 スレッドの明示的な要求を示します。
UmsThreadDefault Visual Studio 2013 の同時実行ランタイムでは、ユーザーモード スケジュール可能 (UMS) スレッドはサポートされていません。 UmsThreadDefault ポリシーの値として SchedulerType を使用しても、エラーは発生しません。 ただし、そのポリシーで作成されたスケジューラでは、既定で Win32 スレッドが使用されます。

必要条件

ヘッダー: concrt.h

SchedulingProtocolType 列挙

スケジューラに使用されるスケジューリング アルゴリズムを記述するために、SchedulingProtocol ポリシーによって使用されます。 使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey」を参照してください。

enum SchedulingProtocolType;

名前 説明
EnhanceForwardProgress スケジューラは、各タスクの実行後にスケジュール グループをラウンドロビンすることを優先します。 ブロック解除されたコンテキストは、通常、先入れ先出し (FIFO) 方式でスケジュールされます。 仮想プロセッサでは、ブロック解除されたコンテキストはキャッシュされません。
EnhanceScheduleGroupLocality スケジューラは、別のスケジュール グループに移動する前に、現在のスケジュール グループ内のタスクを引き続き処理することを優先します。 ブロック解除されたコンテキストは仮想プロセッサごとにキャッシュされ、通常、それらのブロックを解除した仮想プロセッサによって後入れ先出し (LIFO) 方式でスケジュールされます。

必要条件

ヘッダー: concrt.h

SwitchingProxyState 列挙

あるスレッド プロキシから別のスレッド プロキシへの協調的なコンテキスト切り替えを実行するときに、スレッド プロキシの状態を示すために使用します。

enum SwitchingProxyState;

名前 説明
Blocking 呼び出し元のスレッドが協調的にブロックしており、その後、再び実行されて他のアクションを実行するまで、呼び出し元が排他的に所有する必要があることを示します。
Idle 呼び出し元のスレッドがスケジューラで不要になり、Resource Manager に戻されることを示します。 ディスパッチされていたコンテキストは、Resource Manager で使用できなくなります。
Nesting 別のスケジューラにアタッチするために、呼び出し元のスレッドが子スケジューラを入れ子にしており、呼び出し元が必要としていることを示します。

解説

呼び出しを行っているスレッド プロキシの扱い方を Resource Manager に指示するために、SwitchingProxyState 型のパラメーターが IThreadProxy::SwitchTo メソッドに渡されます。

この型の使用方法の詳細については、IThreadProxy::SwitchTo に関するセクションを参照してください。

task_group_status列挙

task_group オブジェクトまたは structured_task_group オブジェクトの実行状態を示します。 この型の値は、タスク グループに対してスケジュールされたタスクが完了するのを待機している多数のメソッドによって返されます。

enum task_group_status;

名前 説明
canceled task_group オブジェクトまたは structured_task_group オブジェクトは取り消されました。 1 つまたは複数のタスクが実行されていない可能性があります。
completed task_group オブジェクトまたは structured_task_group オブジェクトのキューに格納されたタスクは、正常に完了しました。
not_complete task_group オブジェクトのキューに格納されたタスクは完了していません。 この値は、コンカレンシー ランタイムによって現在返されていないことに注意してください。

必要条件

ヘッダー: pplinterface.h

WinRTInitializationType 列挙

WinRTInitialization ポリシーによって使用され、Windows 8 以上のオペレーティング システムで実行されるアプリケーション用のスケジューラ スレッドで、Windows ランタイムを初期化するかどうか、またどのように初期化するかを表します。 使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey」を参照してください。

enum WinRTInitializationType;

名前 説明
DoNotInitializeWinRT アプリケーションが Windows 8 またはそれ以降のバージョンのオペレーティング システムで実行される場合、スケジューラ内のスレッドは、Windows ランタイムを初期化しません。
InitializeWinRTAsMTA アプリケーションが Windows 8 またはそれ以降のバージョンのオペレーティング システムで実行される場合、スケジューラ内の各スレッドは、Windows ランタイムを初期化し、マルチスレッド アパートメントの一部であることを宣言します。

必要条件

ヘッダー: concrt.h

関連項目

コンカレンシー名前空間