次の方法で共有


concurrency 名前空間

concurrency の名前空間は、同時実行ランタイムへのアクセスを提供するクラスおよび関数、C++ 向けの並列プログラミング フレームワークを提供します。詳細については、「同時実行ランタイム」を参照してください。

namespace concurrency;

メンバー

Dd492819.collapse_all(ja-jp,VS.110).gifTypedef

名前

説明

runtime_object_identity

各メッセージ インスタンスには、メッセージング コンポーネント間でメッセージ インスタンスの複製または受け渡しを行うときに使用する ID があります。メッセージ オブジェクトのアドレスをこの ID として指定することはできません。

task_status

タスクの終了状態を表す型。有効値は completed または canceled です。

TaskProc

void (__cdecl * TaskProc)(void *) として定義される、タスクの基本抽象化です。TaskProc は、タスクの本体を呼び出すために呼び出されます。

Dd492819.collapse_all(ja-jp,VS.110).gifClasses

名前

説明

affinity_partitioner クラス

affinity_partitioner のクラスは static_partitioner のクラスに似ていますが、ワーカー スレッドにマッピングのサブ範囲の個の選択によってキャッシュ アフィニティが向上します。これは、ループが同じデータセットをやり直す、およびキャッシュのデータの最適とパフォーマンスを大幅に向上できます。affinity_partitioner の同じオブジェクトが特定のデータ セットに実行される並列ループの次の反復とデータの局所性を利用するためにを使用することに注意してください。

agent クラス

すべての独立エージェントの基本クラスとして使用されるクラスです。他のエージェントの状態を非表示にし、メッセージ パッシングを使用して対話するために使用します。

auto_partitioner クラス

auto_partitioner のクラスは、反復範囲を分割する既定のメソッド parallel_forparallel_for_eachparallel_transform の使用を表します。負荷分散に盗むパーティション分割の employes のスコープでこのメソッドは、キャンセル単位を反復処理します。

bad_target クラス

このメッセージング ブロックが実行する操作に対して無効なターゲットへのポインターを取得するときにこのクラスは、例外を示します。

call クラス

call メッセージング ブロックは、複数のソースを持つ、順序付けられた target_block であり、メッセージを受け取ったときに指定された関数を呼び出します。

cancellation_token クラス

cancellation_token のクラスは、操作をキャンセルしたり要求されたかどうかを判断できることを示します。

cancellation_token_registration クラス

cancellation_token_registration のクラスは cancellation_tokenコールバックからの通知を表します。

cancellation_token_source クラス

cancellation_token_source のクラスは、操作をキャンセル機能を表します。

choice クラス

choice メッセージング ブロックは、複数のソースと単一のターゲットを持つブロックであり、一連のソースとの制御フローの相互作用を表します。choice ブロックは、複数のソースのいずれかがメッセージを生成するのを待ち、そのメッセージを生成したソースのインデックスを伝達します。

combinable クラス

combinable<T> オブジェクトは、スレッド プライベートなデータのコピーを提供し、並列アルゴリズムにおいてロック制御不要なスレッド ローカルのサブ計算を実行するために用意されています。並列操作の最後に、スレッド プライベート サブ計算を最終結果に結合できます。共有変数に多数の競合が発生する可能性がある場合、共有変数の代わりにこのクラスを使用することにより、パフォーマンスを改善できます。

concurrent_priority_queue クラス

concurrent_priority_queue のクラスは、複数のスレッドが同時に項目を押して、ポップするようにするコンテナーです。項目は優先順位がテンプレートの引数として指定されたファンクタによって決定優先順位の順でポップされます。

concurrent_queue クラス

concurrent_queue クラスは、キューの要素に先入れ先出し方式でアクセスできるようにするシーケンス コンテナー クラスです。これは pushtry_popなどの同時実行セーフな操作のセットを有効にします。

concurrent_unordered_map クラス

concurrent_unordered_map のクラスは、型 std::pair<const _Key_type, _Element_type>要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。

concurrent_unordered_multimap クラス

concurrent_unordered_multimap のクラスは、型 std::pair<const _Key_type, _Element_type>要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。

concurrent_unordered_multiset クラス

concurrent_unordered_multiset のクラスは、型の _Key_type 要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。

concurrent_unordered_set クラス

concurrent_unordered_set のクラスは、型の _Key_type 要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。

concurrent_vector クラス

concurrent_vector クラスは、任意の要素にランダムにアクセスできるようにするシーケンス コンテナー クラスです。これは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にします。

Context クラス

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

context_self_unblock クラス

スローされる Context のオブジェクトの Unblock のメソッドが同じコンテキストから呼び出されたときにこのクラスは、例外を示します。これは、特定のコンテキストがそれ自体のブロックを解除しようとしたことを示します。

context_unblock_unbalanced クラス

スローされる Context のオブジェクトの BlockUnblock のメソッドの呼び出しが正しくペアになっていない場合、このクラスは、例外を示します。

critical_section クラス

同時実行ランタイムを明示的に認識する再入不可能なミューテックスです。

CurrentScheduler クラス

呼び出し元コンテキストに関連付けられている現在のスケジューラの抽象化を表します。

default_scheduler_exists クラス

スローされる Scheduler::SetDefaultSchedulerPolicy の既定のスケジューラがプロセス内に既に存在するときにメソッドが呼び出されたときにこのクラスは、例外を示します。

event クラス (同時実行ランタイム)

同時実行ランタイムを明示的に認識する手動リセット イベントです。

improper_lock クラス

このロックが不適切に派生したときにこのクラスは、例外を示します。

improper_scheduler_attach クラス

スローされる Attach のメソッドを現在のコンテキストに既にアタッチされている Scheduler のオブジェクトで呼び出されるとこのクラスは、例外を示します。

improper_scheduler_detach クラス

スローされる CurrentScheduler::Detach のメソッドが Scheduler のオブジェクトの Attach のメソッドを使用して、スケジューラにアタッチされていないコンテキストで呼び出されるとこのクラスは、例外を示します。

improper_scheduler_reference クラス

スローされる Reference のメソッドの終了処理中でそのスケジューラに属していないコンテキストから Scheduler のオブジェクトで呼び出されるとこのクラスは、例外を示します。

invalid_link_target クラス

このメッセージング ブロックの link_target のメソッドが呼び出され、メッセージング ブロックがターゲットにリンクできないときにこのクラスは、例外を示します。これは、メッセージング ブロックによってがであるリンク数の上限を超えた場合、必要な場合、特定のターゲットを同じソースに回リンクに割り当てられているか、またはします。

invalid_multiple_scheduling クラス

スローされる task_handle のオブジェクトを呼び出さなかったときに wait または run_and_wait のメソッドへの task_group または structured_task_group のオブジェクトの run のメソッドを使用して、複数回スケジュールされたときにこのクラスは、例外を示します。

invalid_operation クラス

この同時実行ランタイムによってスローされる他の例外の種類によって正確に記述されていない無効な操作を実行するときにこのクラスは、例外を示します。

invalid_oversubscribe_operation クラス

スローされる Context::Oversubscribe のメソッドが trueに設定 _BeginOversubscription のパラメーターの Context::Oversubscribe のメソッドへの前の呼び出しのない false への _BeginOversubscription のパラメーターをに設定して呼び出されたときにこのクラスは、例外を示します。

invalid_scheduler_policy_key クラス

この無効または未知のキーが SchedulerPolicy オブジェクトのコンストラクターに渡される、または SchedulerPolicy のオブジェクトの SetPolicyValue のメソッドは SetConcurrencyLimits メソッドなどの他の手段を使用して変更する必要があるときにキーが渡されます。このクラスは、例外を示します。

invalid_scheduler_policy_thread_specification クラス

スローされる SchedulerPolicy のオブジェクトの MinConcurrency キーの値は MaxConcurrency キーの値未満であると同時実行の制限を設定すると、このようなにした場合にこのクラスは、例外を示します。

invalid_scheduler_policy_value クラス

スローされるオブジェクト SchedulerPolicy のポリシー キーがそのキーに対して無効な値に設定されていると、このクラスは、例外を示します。

ISource クラス

ISource クラスは、すべてのソース ブロック用のインターフェイスです。ソース ブロックは、メッセージを ITarget ブロックに伝達します。

ITarget クラス

ITarget クラスは、すべてのターゲット ブロックのインターフェイスです。ターゲット ブロックは、ISource ブロックから提供されたメッセージを処理します。

join クラス

join メッセージング ブロックは、単一のターゲットと複数のソースを持つ順序付けられた propagator_block であり、各ソースから、種類が _Type であるメッセージを結合します。

location クラス

ハードウェアの物理位置の抽象化です。

message クラス

メッセージング ブロック間で渡されるデータ ペイロードが格納される、基本的なメッセージ エンベロープ。

message_not_found クラス

このメッセージング ブロックが要求されたメッセージを検索できない場合、このクラスは、例外を示します。

message_processor クラス

message_processor クラスは、message オブジェクトを処理するための抽象基本クラスです。メッセージの順序は保証されません。

missing_wait クラス

スローされるオブジェクトのデストラクターが実行される task_group または structured_task_group のオブジェクトにその時点でスケジュールされたタスクがあるときにこのクラスは、例外を示します。この例外は、デストラクターは例外のスタック アンワインドの結果に達するとスローされません。

multi_link_registry クラス

multi_link_registry オブジェクトは、複数のソース ブロックまたは複数のターゲット ブロックを管理する network_link_registry です。

multitype_join クラス

multitype_join メッセージング ブロックは、複数のソースと単一のターゲットを持つメッセージング ブロックで、それぞれのソースから受け取った異なる種類のメッセージを 1 つに結合してターゲットに渡します。

nested_scheduler_missing_detach クラス

スローされる Scheduler のオブジェクトの Attach のメソッドを使用して 2 番目のスケジューラにアタッチされているコンテキストで CurrentScheduler::Detach のメソッドを呼び出すことを無視したことを同時実行ランタイムが検出するとこのクラスは、例外を示します。

network_link_registry クラス

network_link_registry 抽象基本クラスによって、ソース ブロックとターゲット ブロック間のリンクを管理します。

operation_timed_out クラス

この操作がタイムアウトした場合このクラスは、例外を示します。

ordered_message_processor クラス

ordered_message_processor は、メッセージ ブロックがメッセージを受け取った順序で処理できるようにする message_processor です。

overwrite_buffer クラス

overwrite_buffer メッセージング ブロックは、一度に 1 つのメッセージを格納することができる、複数のターゲットと複数のソースを持つ順序付けられた propagator_block です。新しいメッセージが与えられると、それまで格納されていたメッセージは上書きされます。

progress_reporter クラス

進行状況レポーターのクラスは、特定の型の進行状況の通知を報告できるようにします。各 progress_reporter のオブジェクトが特定の非同期操作または操作にバインドされます。

propagator_block クラス

propagator_block クラスは、ソースでもありターゲットでもあるメッセージ ブロックの抽象基本クラスです。source_block クラスと target_block クラスの両方の機能が組み合わされています。

reader_writer_lock クラス

ローカルのみのスピンを行う、ライター優先キュー ベースのリーダー ライター ロックです。ロックはライターに先入れ先出し (FIFO: First In First Out) アクセスを許可し、ライターに連続的な負荷がかかる状況ではリーダーが処理を実行できなくします。

ScheduleGroup クラス

スケジュール グループの抽象化を表します。スケジュール グループは、(別のグループに移動する前に同じグループ内の別のタスクを実行することで) 一時的に、または (同じ NUMA ノードまたは物理ソケットの同じグループ内の複数の項目を実行することにより) 空間的に、短い間隔でスケジュールするとメリットがある関連作業のセットを編成します。

Scheduler クラス

同時実行ランタイム スケジューラの抽象化を表します。

scheduler_not_attached クラス

このスケジューラを現在のコンテキストにアタッチする必要のある 1 がある操作を実行するときにこのクラスは、例外について説明します。

scheduler_resource_allocation_error クラス

同時実行ランタイムの重要なリソースを取得するエラーごとにこのクラスは、スローされる例外を示します。

scheduler_worker_creation_error クラス

同時実行ランタイムのワーカー実行コンテキストを作成するエラーごとにこのクラスは、スローされる例外を示します。

SchedulerPolicy クラス

SchedulerPolicy クラスには、ポリシー要素ごとに 1 つずつ、スケジューラ インスタンスの動作を制御するキーと値のペアのセットが含まれています。

simple_partitioner クラス

simple_partitioner のクラスは parallel_forを反復処理する範囲に静的パーティション分割を表します。パーティショナーはチャンクに各チャンクにイテレーションの少なくともチャンクのサイズで指定された番号です。範囲をそのようなに分割します。

single_assignment クラス

single_assignment メッセージング ブロックは、一度だけ書き込むことができる message を 1 つ格納できる、複数のターゲットと複数のソースを持つ順序付けられた propagator_block です。

single_link_registry クラス

single_link_registry オブジェクトは、単一のソース ブロックまたはターゲット ブロックのみを管理する network_link_registry です。

source_block クラス

source_block クラスは、ソースのみのブロックの抽象基本クラスです。このクラスには、基本的なリンク管理機能および一般的なエラー チェック機能が用意されています。

source_link_manager クラス

source_link_manager オブジェクトは、ISource ブロックへのメッセージング ブロック ネットワーク リンクを管理します。

static_partitioner クラス

static_partitioner のクラスは parallel_forを反復処理する範囲に静的パーティション分割を表します。パーティショナーは数のチャンクに underyling スケジューラに使用可能なワーカーがあると範囲を分割します。

structured_task_group クラス

structured_task_group クラスは、並列処理の高度に構造化されたコレクションを表します。task_handle オブジェクトを使用して個々の並列タスクを structured_task_group のキューに配置し、それらのタスクが完了するまで待機するか、実行が完了する前にタスク グループを取り消すことができます。取り消すと、実行が開始されていないタスクはすべて中止されます。

target_block クラス

target_block クラスは、基本的なリンク管理機能と、ターゲットのみのブロックのエラー チェック機能を実現する抽象基本クラスです。

task クラス (同時実行ランタイム)

並列パターン ライブラリの task (PPL) のクラス。task のオブジェクトは、同時実行ランタイムでの並列アルゴリズムによって生成される他のタスクと並列処理のように非同期的に実行できる作業を表します。これは、正常に終了したの型 _ResultType の結果を生成します。型 task<void> のタスクは結果は作成されません。タスクは待たれ、他のタスクとは関係なく取り消すことができます。また、継続then () を使用して他のタスクと結合when_all () および (when_anyのパターン) Choice 構成できます。

task_canceled クラス

PPL のタスクがスローこのクラスは、例外を取り消す層になります。現在のタスクを強制的について説明します。また、取り消されたタスクの タスクget() のメソッドによって、がスローされます。

task_completion_event クラス

task_completion_event のクラスは、条件が満たされている遅延や、外部イベントに応答してタスクを可能にするまでタスクの実行を開始することができます。

task_continuation_context クラス

task_continuation_context のクラスは、継続を実行する先が必要かを指定できるようにします。Metro スタイルのアプリケーションからこのクラスのみを使用すると便利です。非 Metro のスタイルの apps では、タスクの継続の実行コンテキストは、ランタイムによって決定され、構成できます。

task_group クラス

task_group クラスは、待機または取り消しができる並列処理のコレクションを表します。

task_handle クラス

task_handle クラスは個々の並列作業項目を表します。このクラスは、1 つの処理を実行するために必要な命令およびデータをカプセル化します。

timer クラス

timer メッセージング ブロックは単一のターゲットを持つ source_block であり、指定された時間の経過後か、特定の間隔で、メッセージをターゲットに送信することができます。

transformer クラス

transformer メッセージング ブロックは、単一のターゲットと複数のソースを持つ順序付けられた propagator_block であり、1 つの種類のメッセージを複数受け入れ、別の種類のメッセージを無制限に格納することができます。

unbounded_buffer クラス

unbounded_buffer メッセージング ブロックは、メッセージを無制限に格納することができる、複数のターゲットと複数のソースを持つ順序付けられた propagator_block です。

unsupported_os クラス

このサポートされていないオペレーティング システムを使用した場合、このクラスは、例外を示します。同時実行ランタイムでは、Windows XP Service Pack 3 より前のバージョンのオペレーティング システムはサポートされません。

Dd492819.collapse_all(ja-jp,VS.110).gif構造体

名前

説明

DispatchState 構造体

DispatchState 構造体は、状態を IExecutionContext::Dispatch メソッドに転送するために使用されます。Dispatch メソッドが IExecutionContext インターフェイスで呼び出される状況を示します。

IExecutionContext 構造体

特定の仮想プロセッサで実行でき、協調的にコンテキストを切り替えることができる実行コンテキストへのインターフェイスです。

IExecutionResource 構造体

ハードウェア スレッドの抽象化です。

IResourceManager 構造体

同時実行ランタイムのリソース マネージャーに対するインターフェイスです。これは、スケジューラがリソース マネージャーと通信する際に使用されるインターフェイスです。

IScheduler 構造体

作業スケジューラの抽象化のインターフェイスです。同時実行ランタイムのリソース マネージャーは、このインターフェイスを使用して作業スケジューラと通信します。

ISchedulerProxy 構造体

スケジューラは、このインターフェイスを使用して同時実行ランタイムのリソース マネージャーと通信して、リソース割り当てをネゴシエートします。

IThreadProxy 構造体

実行スレッドの抽象化です。作成するスケジューラの SchedulerType ポリシー キーに応じて、リソース マネージャーは、通常の Win32 スレッドまたはユーザー モード スケジュール可能 (UMS: User-Mode Schedulable) スレッドによってサポートされるスレッド プロキシを許可します。UMS スレッドは、Windows 7 以上のバージョンの 64 ビット オペレーティング システムでサポートされます。

ITopologyExecutionResource 構造体

リソース マネージャーによって定義された実行リソースへのインターフェイス。

ITopologyNode 構造体

リソース マネージャーで定義されているトポロジのノードへのインターフェイス。ノードは、一つ以上の実行リソースが含まれています。

IUMSCompletionList 構造体

UMS の完了リストを表します。UMS スレッドがブロックされると、基になる仮想プロセッサ ルートでスケジュールする内容を決定するためにスケジューラで指定されているスケジュールのコンテキストがディスパッチされ、元のスレッドがブロックされます。元のスレッドがブロックされない場合、オペレーション システムは、このインターフェイスからアクセスできる完了リストのキューにそれを配置します。スケジューラは指定されたスケジュール コンテキスト、または作業を検索するその他の場所にある完了リストを照会できます。

IUMSScheduler 構造体

同時実行ランタイムのリソース マネージャーによってユーザー モード スケジュール可能 (UMS) スレッドが渡される必要がある作業スケジューラの抽象化のインターフェイスです。リソース マネージャーでは、このインターフェイスを使用して UMS スレッド スケジューラと通信します。IUMSScheduler インターフェイスは IScheduler インターフェイスを継承します。

IUMSThreadProxy 構造体

実行スレッドの抽象化です。ユーザー モード スケジュール可能 (UMS) スレッドをスケジューラに付与するには、スケジューラ ポリシー要素 SchedulerKind の値を UmsThreadDefault に設定し、さらに IUMSScheduler インターフェイスを実装する必要があります。UMS スレッドは、Windows 7 以上のバージョンの 64 ビット オペレーティング システムでのみサポートされます。

IUMSUnblockNotification 構造体

ブロックされ、スケジューラの指定されたスケジュール コンテキストに制御を戻すことをトリガーされたスレッド プロキシが、ブロック解除され、スケジュールできる状態であることを示す、リソース マネージャーからの通知を表します。このインターフェイスは、GetContext メソッドから返される、スレッド プロキシの関連付けられた実行コンテキストが再スケジュールされると無効になります。

IVirtualProcessorRoot 構造体

スレッド プロキシが実行できるハードウェア スレッドの抽象化です。

Dd492819.collapse_all(ja-jp,VS.110).gif列挙型

名前

説明

agent_status 列挙体

agent の有効な状態。

Agents_EventType 列挙型

トレース機能を使用してトレースできるイベントの種類は、エージェント ライブラリに用意しました

ConcRT_EventType 列挙型

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

Concrt_TraceFlags 列挙型

イベントの型のトレース フラグ

CriticalRegionType 列挙型

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

DynamicProgressFeedbackType 列挙型

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

join_type 列挙体

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

message_status 列挙型

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

PolicyElementKey 列挙型

ポリシー キーは、スケジューラの動作をさまざまな側面から表します。各ポリシー要素は、キーと値の組み合わせで表現されます。スケジューラ ポリシーと、スケジューラに対するその影響の詳細については、「タスク スケジューラ (同時実行ランタイム)」を参照してください。

SchedulerType 列挙型

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

SchedulingProtocolType 列挙型

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

SwitchingProxyState 列挙型

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

task_group_status 列挙型

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

WinRTInitializationType 列挙型

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

Dd492819.collapse_all(ja-jp,VS.110).gif関数

名前

説明

Alloc 関数

同時実行ランタイムのキャッシュ サブアロケーターしてから、指定したサイズのメモリ ブロックを割り当てます。

asend 関数

オーバーロードされます。ターゲット ブロックにデータを反映するタスクをスケジュールする非同期送信操作です。

cancel_current_task 関数

現在実行中のタスクをすべて取り消します。この関数は、タスクの実行を中止して canceled の状態に入力した持って機能タスクの本体でから呼び出すことができます。これは is_task_cancellation_requested の関数に応じて使用される可能性がある間、または現在実行中のタスクの取り消しを開始することだけを使用できます。

これは taskの本体に存在しない場合、この関数を呼び出すサポートされるシナリオではありません。そのためには、アプリケーションのクラッシュやこつなど、未定義の動作が発生します。

create_async 関数

ユーザーが指定したラムダ関数またはオブジェクトに基づいて Windows のランタイムの非同期構造を作成します。create_async の戻り値の型は、メソッドに渡されるラムダの定義に基づいて IAsyncAction^IAsyncActionWithProgress<TProgress>^IAsyncOperation<TResult>^、または IAsyncOperationWithProgress<TResult, TProgress>^ の 1 つです。

create_task 関数

オーバーロードされます。PPL タスク のオブジェクトを作成します。create_task は、を使用してタスクのコンストラクターを使用できます。これは、便宜上作成時にタスク auto のキーワードを使用するため、主に用意されています。

CreateResourceManager 関数

同時実行ランタイムのリソース マネージャーのシングルトン インスタンスを表すインターフェイスを返します。リソース マネージャーは、相互の連携を必要とするスケジューラにリソースを割り当てます。

DisableTracing 関数

同時実行ランタイムでのトレースを無効にします。この関数は、ETW トレースが未登録の既定値) の場合は推奨されていません。

EnableTracing 関数

同時実行ランタイムでトレースを有効にします。この関数は、ETW トレースが、既定ではであるため、推奨されます。

Free 関数

前に同時実行ランタイムのキャッシュ サブアロケーターにする Alloc のメソッドによって割り当てられたメモリ ブロックを解放します。

GetExecutionContextId 関数

IExecutionContext インターフェイスを実装する実行コンテキストに割り当てることのできる一意識別子を返します。

GetOSVersion 関数

オペレーティング システムのバージョンを返します。

GetProcessorCount 関数

基になるシステム上のハードウェア スレッドの数を返します。

GetProcessorNodeCount 関数

基になるシステム上の NUMA ノードまたはプロセッサ パッケージの数を返します。

GetSchedulerId 関数

IScheduler インターフェイスを実装するスケジューラに割り当てることができる一意識別子を返します。

interruption_point 関数

キャンセルの割り込みポイントを作成します。キャンセルがこの関数を呼び出すコンテキストで進行中の場合、これは現在実行の並列処理の実行を中止内部例外をスローします。キャンセルが進行中の場合、この関数は何も実行しません。

is_current_task_group_canceling 関数

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

is_task_cancellation_requested 関数

現在実行中のタスクの実行をキャンセル要求を受け取ったかどうかを示す値を返します。キャンセルは、タスクにタスクが [キャンセル トークンで作成されている場合は、トークン ソースは、キャンセル トークンに関連付けられた必須です。

make_choice 関数

オーバーロードされます。オプションの Scheduler または ScheduleGroup および 2 ~ 10 個の入力ソースから choice メッセージング ブロックを構築します。

make_greedy_join 関数

オーバーロードされます。オプションの Scheduler または ScheduleGroup および 2 ~ 10 個の入力ソースから greedy multitype_join メッセージング ブロックを構築します。

make_join 関数

オーバーロードされます。オプションの Scheduler または ScheduleGroup および 2 ~ 10 個の入力ソースから non_greedy multitype_join メッセージング ブロックを構築します。

make_task 関数

task_handle オブジェクトを作成するためのファクトリ メソッドです。

parallel_buffered_sort 関数

オーバーロードされます。nondescending 順序に、またはバイナリ述語によって指定される命令の基準に従って指定された範囲の要素を並行して配置します。この関数は、比較型、不安定になること std::sort 意味に似ていますが、埋め込みの並べ替えただし、O(n) の領域を必要とし、並べ替えられる要素に既定の初期化が必要です。

parallel_for 関数

オーバーロードされます。parallel_for は、一定の範囲のインデックスを反復処理し、各反復処理で、ユーザーが指定した関数を並列で実行します。

parallel_for_each 関数

オーバーロードされます。parallel_for_each は、指定された関数を範囲内の各要素に並列で適用します。意味的には std 名前空間の for_each 関数と同等ですが、要素に対する反復処理が並列で行われる点、および反復処理の順序が指定されていない点が異なります。引数 _Func は、operator()(T) の形式の関数呼び出し演算子をサポートしている必要があります (T パラメーターは反復処理するコンテナーの項目の種類を示します)。

parallel_invoke 関数

オーバーロードされます。パラメーターとして渡された関数オブジェクトを並列実行し、実行が完了するまでブロックします。各関数オブジェクトは、ラムダ式、関数へのポインター、またはシグネチャ void operator()() を持つ関数呼び出し演算子をサポートするオブジェクトになります。

parallel_radixsort 関数

オーバーロードされます。基数法のアルゴリズム クラスを使用して非降順に指定した範囲の要素を配置します。これは、符号なしの整数と同様のプロジェクト要素キーに分類できます。投射関数を必要とする安定した並べ替え関数です。既定の初期化に使用される要素が必要です。

parallel_reduce 関数

オーバーロードされます。指定された範囲のすべての要素の合計を逐次的な部分の合計を計算することで計算します。または、同様に指定以外の合計 2 進操作から派生した継続的に、一部の結果の結果を並行して計算します。parallel_reducestd::accumulate意味はに似ていますが、2 進操作が結合になるようにする初期値の代わりに ID 値が必要です。

parallel_sort 関数

オーバーロードされます。nondescending 順序に、またはバイナリ述語によって指定される命令の基準に従って指定された範囲の要素を並行して配置します。この関数は、比較型、不規則な並べ替え、埋め込み先であること std::sort 意味に似ています。

parallel_transform 関数

オーバーロードされます。ソース範囲内の各要素、またはペアの 2 種類のソース範囲内の要素に指定された関数は、オブジェクトの追加、コピー先の範囲オブジェクトに関数の戻り値を並列にコピーします。この機能は std::transformと意味は同じです。

receive 関数

オーバーロードされます。receive の一般的な実装です。これにより、コンテキストで 1 つのソースからのデータを待機し、受け取った値をフィルター処理できます。

run_with_cancellation_token 関数

特定のキャンセル トークンのコンテキストで関数オブジェクトをすばやく同期的に実行されます。

send 関数

オーバーロードされます。ターゲットがメッセージを受け入れるか拒否するまで待機する同期送信操作です。

set_task_execution_resources 関数

オーバーロードされます。同時実行ランタイムの内部ワーカー スレッドによって使用される指定された関係のセットに実行リソースを制限します。

このメソッドは、リソース マネージャーが作成される前に、またはでのみ有効 2 種類のリソース マネージャーの有効期間をときにこのメソッドを呼び出します。このメソッドは、リソース マネージャーが呼び出されたときに存在しない限り複数回呼び出すことができます。関係の制限が設定された後、set_task_execution_resources のメソッドに次の有効な呼び出しまで有効です。

関係マスクは、プロセス関係マスクのサブセットである必要はありません提供します。プロセス アフィニティが必要に応じて更新されます。

swap 関数

2 つの concurrent_vector オブジェクトの要素を交換します。

Trace_agents_register_name 関数

ETW トレース メッセージ ブロックまたはエージェントにファイル名を関連付けます。

try_receive 関数

オーバーロードされます。try-receive の一般的な実装です。これにより、コンテキストで 1 つのソースに対してのみデータの検索を実行し、受け取った値をフィルター処理できます。データが準備されていない場合、メソッドは false を返します。

wait 関数

指定した時間だけ現在のコンテキストを停止します。

when_all 関数

オーバーロードされます。引数として指定されたタスクのすべてが正常に完了したら正常に完了するタスクを作成します。

when_any 関数

オーバーロードされます。引数として指定されたタスクが正常に完了したら正常に完了するタスクを作成します。

Dd492819.collapse_all(ja-jp,VS.110).gif演算子

名前

説明

operator!= 演算子

演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトと等しくないかどうかを調べます。

operator&& 演算子

オーバーロードされます。引数として指定されたタスクの両方が正常に完了したら正常に完了するタスクを作成します。

operator|| 演算子

オーバーロードされます。引数として指定されたタスクのいずれかが正常に完了したら正常に完了するタスクを作成します。

operator< 演算子

演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトより小さいかどうかを調べます。

operator<= 演算子

演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクト以下かどうかを調べます。

operator== 演算子

演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトと等しいかどうかを調べます。

operator> 演算子

演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトより大きいかどうかを調べます。

operator>= 演算子

演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクト以上であるかどうかを調べます。

Dd492819.collapse_all(ja-jp,VS.110).gif定数

名前

説明

AgentEventGuid 定数

エージェント ライブラリによって発生した同時実行ランタイムでの ETW イベントを表すカテゴリの GUID ({B9B5B78C - 0713 - 4898 ~ 21。C 67949DCED07.})。

ChoreEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、作業またはタスクに直接関係する ETW イベントを表すカテゴリの GUID。

ConcRT_ProviderGuid 定数

同時実行ランタイムの ETW プロバイダーの GUID。

CONCRT_RM_VERSION_1 定数

Visual Studio 2010 で定義されているリソース マネージャー インターフェイスのサポートを示します。

ConcRTEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、別のカテゴリで具体的に説明されていない ETW イベントを表すカテゴリの GUID。

ContextEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、コンテキストに直接関係する ETW イベントを表すカテゴリの GUID。

COOPERATIVE_TIMEOUT_INFINITE 定数

待機がタイムアウトしないことを示す値。

COOPERATIVE_WAIT_TIMEOUT 定数

待機がタイムアウトしたことを示す値。

INHERIT_THREAD_PRIORITY 定数

スケジューラのすべてのコンテキストのスレッド優先順位が、スケジューラを作成したスレッドの優先順位と同じになることを示す ContextPriority ポリシー キーの特別な値。

LockEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、ロックに直接関係する ETW イベントを表すカテゴリの GUID。

MaxExecutionResources 定数

MinConcurrency ポリシー キーおよび MaxConcurrency ポリシー キーの特殊な値。他の制約が存在しない場合、既定でコンピューター上のハードウェア スレッドの数になります。

PPLParallelForeachEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、parallel_for_each 関数の使用に直接関係する ETW イベントを表すカテゴリの GUID。

PPLParallelForEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、parallel_for 関数の使用に直接関係する ETW イベントを表すカテゴリの GUID。

PPLParallelInvokeEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、parallel_invoke 関数の使用に直接関係する ETW イベントを表すカテゴリの GUID。

ResourceManagerEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、リソース マネージャーに直接関係する ETW イベントを表すカテゴリの GUID。

ScheduleGroupEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、スケジュール グループに直接関係する ETW イベントを表すカテゴリの GUID。

SchedulerEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、スケジューラ アクティビティに直接関係する ETW イベントを表すカテゴリの GUID。

VirtualProcessorEventGuid 定数

同時実行ランタイムによって生成される ETW イベントのうち、仮想プロセッサに直接関係する ETW イベントを表すカテゴリの GUID。

必要条件

ヘッダー: agents.h、concrt.h、concrtrm.h、concurrent_priority_queue.h、concurrent_queue.h、concurrent_unordered_map.h、concurrent_unordered_set.h、concurrent_vector.h、ppl.h、ppltasks.h

参照

その他の技術情報

参照 (同時実行ランタイム)