concurrency 名前空間
concurrency の名前空間は、同時実行ランタイムへのアクセスを提供するクラスおよび関数、C++ 向けの並列プログラミング フレームワークを提供します。詳細については、「同時実行ランタイム」を参照してください。
namespace concurrency;
メンバー
Typedef
名前 |
説明 |
---|---|
runtime_object_identity |
各メッセージ インスタンスには、メッセージング コンポーネント間でメッセージ インスタンスの複製または受け渡しを行うときに使用する ID があります。メッセージ オブジェクトのアドレスをこの ID として指定することはできません。 |
task_status |
タスクの終了状態を表す型。有効値は completed または canceled です。 |
TaskProc |
void (__cdecl * TaskProc)(void *) として定義される、タスクの基本抽象化です。TaskProc は、タスクの本体を呼び出すために呼び出されます。 |
Classes
名前 |
説明 |
---|---|
affinity_partitioner のクラスは static_partitioner のクラスに似ていますが、ワーカー スレッドにマッピングのサブ範囲の個の選択によってキャッシュ アフィニティが向上します。これは、ループが同じデータセットをやり直す、およびキャッシュのデータの最適とパフォーマンスを大幅に向上できます。affinity_partitioner の同じオブジェクトが特定のデータ セットに実行される並列ループの次の反復とデータの局所性を利用するためにを使用することに注意してください。 |
|
すべての独立エージェントの基本クラスとして使用されるクラスです。他のエージェントの状態を非表示にし、メッセージ パッシングを使用して対話するために使用します。 |
|
auto_partitioner のクラスは、反復範囲を分割する既定のメソッド parallel_for、parallel_for_each と parallel_transform の使用を表します。負荷分散に盗むパーティション分割の employes のスコープでこのメソッドは、キャンセル単位を反復処理します。 |
|
このメッセージング ブロックが実行する操作に対して無効なターゲットへのポインターを取得するときにこのクラスは、例外を示します。 |
|
call メッセージング ブロックは、複数のソースを持つ、順序付けられた target_block であり、メッセージを受け取ったときに指定された関数を呼び出します。 |
|
cancellation_token のクラスは、操作をキャンセルしたり要求されたかどうかを判断できることを示します。 |
|
cancellation_token_registration のクラスは cancellation_tokenコールバックからの通知を表します。 |
|
cancellation_token_source のクラスは、操作をキャンセル機能を表します。 |
|
choice メッセージング ブロックは、複数のソースと単一のターゲットを持つブロックであり、一連のソースとの制御フローの相互作用を表します。choice ブロックは、複数のソースのいずれかがメッセージを生成するのを待ち、そのメッセージを生成したソースのインデックスを伝達します。 |
|
combinable<T> オブジェクトは、スレッド プライベートなデータのコピーを提供し、並列アルゴリズムにおいてロック制御不要なスレッド ローカルのサブ計算を実行するために用意されています。並列操作の最後に、スレッド プライベート サブ計算を最終結果に結合できます。共有変数に多数の競合が発生する可能性がある場合、共有変数の代わりにこのクラスを使用することにより、パフォーマンスを改善できます。 |
|
concurrent_priority_queue のクラスは、複数のスレッドが同時に項目を押して、ポップするようにするコンテナーです。項目は優先順位がテンプレートの引数として指定されたファンクタによって決定優先順位の順でポップされます。 |
|
concurrent_queue クラスは、キューの要素に先入れ先出し方式でアクセスできるようにするシーケンス コンテナー クラスです。これは push と try_popなどの同時実行セーフな操作のセットを有効にします。 |
|
concurrent_unordered_map のクラスは、型 std::pair<const _Key_type, _Element_type>要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。 |
|
concurrent_unordered_multimap のクラスは、型 std::pair<const _Key_type, _Element_type>要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。 |
|
concurrent_unordered_multiset のクラスは、型の _Key_type 要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。 |
|
concurrent_unordered_set のクラスは、型の _Key_type 要素の可変長シーケンスを制御する同時実行セーフなコンテナーです。シーケンスは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にする方法で表されます。 |
|
concurrent_vector クラスは、任意の要素にランダムにアクセスできるようにするシーケンス コンテナー クラスです。これは同時実行セーフの追加、要素アクセス、反復子アクセス、および反復子走査の各操作を有効にします。 |
|
実行コンテキストの抽象化を表します。 |
|
スローされる Context のオブジェクトの Unblock のメソッドが同じコンテキストから呼び出されたときにこのクラスは、例外を示します。これは、特定のコンテキストがそれ自体のブロックを解除しようとしたことを示します。 |
|
スローされる Context のオブジェクトの Block と Unblock のメソッドの呼び出しが正しくペアになっていない場合、このクラスは、例外を示します。 |
|
同時実行ランタイムを明示的に認識する再入不可能なミューテックスです。 |
|
呼び出し元コンテキストに関連付けられている現在のスケジューラの抽象化を表します。 |
|
スローされる Scheduler::SetDefaultSchedulerPolicy の既定のスケジューラがプロセス内に既に存在するときにメソッドが呼び出されたときにこのクラスは、例外を示します。 |
|
同時実行ランタイムを明示的に認識する手動リセット イベントです。 |
|
このロックが不適切に派生したときにこのクラスは、例外を示します。 |
|
スローされる Attach のメソッドを現在のコンテキストに既にアタッチされている Scheduler のオブジェクトで呼び出されるとこのクラスは、例外を示します。 |
|
スローされる CurrentScheduler::Detach のメソッドが Scheduler のオブジェクトの Attach のメソッドを使用して、スケジューラにアタッチされていないコンテキストで呼び出されるとこのクラスは、例外を示します。 |
|
スローされる Reference のメソッドの終了処理中でそのスケジューラに属していないコンテキストから Scheduler のオブジェクトで呼び出されるとこのクラスは、例外を示します。 |
|
このメッセージング ブロックの link_target のメソッドが呼び出され、メッセージング ブロックがターゲットにリンクできないときにこのクラスは、例外を示します。これは、メッセージング ブロックによってがであるリンク数の上限を超えた場合、必要な場合、特定のターゲットを同じソースに回リンクに割り当てられているか、またはします。 |
|
スローされる task_handle のオブジェクトを呼び出さなかったときに wait または run_and_wait のメソッドへの task_group または structured_task_group のオブジェクトの run のメソッドを使用して、複数回スケジュールされたときにこのクラスは、例外を示します。 |
|
この同時実行ランタイムによってスローされる他の例外の種類によって正確に記述されていない無効な操作を実行するときにこのクラスは、例外を示します。 |
|
スローされる Context::Oversubscribe のメソッドが trueに設定 _BeginOversubscription のパラメーターの Context::Oversubscribe のメソッドへの前の呼び出しのない false への _BeginOversubscription のパラメーターをに設定して呼び出されたときにこのクラスは、例外を示します。 |
|
この無効または未知のキーが SchedulerPolicy オブジェクトのコンストラクターに渡される、または SchedulerPolicy のオブジェクトの SetPolicyValue のメソッドは SetConcurrencyLimits メソッドなどの他の手段を使用して変更する必要があるときにキーが渡されます。このクラスは、例外を示します。 |
|
スローされる SchedulerPolicy のオブジェクトの MinConcurrency キーの値は MaxConcurrency キーの値未満であると同時実行の制限を設定すると、このようなにした場合にこのクラスは、例外を示します。 |
|
スローされるオブジェクト SchedulerPolicy のポリシー キーがそのキーに対して無効な値に設定されていると、このクラスは、例外を示します。 |
|
ISource クラスは、すべてのソース ブロック用のインターフェイスです。ソース ブロックは、メッセージを ITarget ブロックに伝達します。 |
|
ITarget クラスは、すべてのターゲット ブロックのインターフェイスです。ターゲット ブロックは、ISource ブロックから提供されたメッセージを処理します。 |
|
join メッセージング ブロックは、単一のターゲットと複数のソースを持つ順序付けられた propagator_block であり、各ソースから、種類が _Type であるメッセージを結合します。 |
|
ハードウェアの物理位置の抽象化です。 |
|
メッセージング ブロック間で渡されるデータ ペイロードが格納される、基本的なメッセージ エンベロープ。 |
|
このメッセージング ブロックが要求されたメッセージを検索できない場合、このクラスは、例外を示します。 |
|
message_processor クラスは、message オブジェクトを処理するための抽象基本クラスです。メッセージの順序は保証されません。 |
|
スローされるオブジェクトのデストラクターが実行される task_group または structured_task_group のオブジェクトにその時点でスケジュールされたタスクがあるときにこのクラスは、例外を示します。この例外は、デストラクターは例外のスタック アンワインドの結果に達するとスローされません。 |
|
multi_link_registry オブジェクトは、複数のソース ブロックまたは複数のターゲット ブロックを管理する network_link_registry です。 |
|
multitype_join メッセージング ブロックは、複数のソースと単一のターゲットを持つメッセージング ブロックで、それぞれのソースから受け取った異なる種類のメッセージを 1 つに結合してターゲットに渡します。 |
|
スローされる Scheduler のオブジェクトの Attach のメソッドを使用して 2 番目のスケジューラにアタッチされているコンテキストで CurrentScheduler::Detach のメソッドを呼び出すことを無視したことを同時実行ランタイムが検出するとこのクラスは、例外を示します。 |
|
network_link_registry 抽象基本クラスによって、ソース ブロックとターゲット ブロック間のリンクを管理します。 |
|
この操作がタイムアウトした場合このクラスは、例外を示します。 |
|
ordered_message_processor は、メッセージ ブロックがメッセージを受け取った順序で処理できるようにする message_processor です。 |
|
overwrite_buffer メッセージング ブロックは、一度に 1 つのメッセージを格納することができる、複数のターゲットと複数のソースを持つ順序付けられた propagator_block です。新しいメッセージが与えられると、それまで格納されていたメッセージは上書きされます。 |
|
進行状況レポーターのクラスは、特定の型の進行状況の通知を報告できるようにします。各 progress_reporter のオブジェクトが特定の非同期操作または操作にバインドされます。 |
|
propagator_block クラスは、ソースでもありターゲットでもあるメッセージ ブロックの抽象基本クラスです。source_block クラスと target_block クラスの両方の機能が組み合わされています。 |
|
ローカルのみのスピンを行う、ライター優先キュー ベースのリーダー ライター ロックです。ロックはライターに先入れ先出し (FIFO: First In First Out) アクセスを許可し、ライターに連続的な負荷がかかる状況ではリーダーが処理を実行できなくします。 |
|
スケジュール グループの抽象化を表します。スケジュール グループは、(別のグループに移動する前に同じグループ内の別のタスクを実行することで) 一時的に、または (同じ NUMA ノードまたは物理ソケットの同じグループ内の複数の項目を実行することにより) 空間的に、短い間隔でスケジュールするとメリットがある関連作業のセットを編成します。 |
|
同時実行ランタイム スケジューラの抽象化を表します。 |
|
このスケジューラを現在のコンテキストにアタッチする必要のある 1 がある操作を実行するときにこのクラスは、例外について説明します。 |
|
同時実行ランタイムの重要なリソースを取得するエラーごとにこのクラスは、スローされる例外を示します。 |
|
同時実行ランタイムのワーカー実行コンテキストを作成するエラーごとにこのクラスは、スローされる例外を示します。 |
|
SchedulerPolicy クラスには、ポリシー要素ごとに 1 つずつ、スケジューラ インスタンスの動作を制御するキーと値のペアのセットが含まれています。 |
|
simple_partitioner のクラスは parallel_forを反復処理する範囲に静的パーティション分割を表します。パーティショナーはチャンクに各チャンクにイテレーションの少なくともチャンクのサイズで指定された番号です。範囲をそのようなに分割します。 |
|
single_assignment メッセージング ブロックは、一度だけ書き込むことができる message を 1 つ格納できる、複数のターゲットと複数のソースを持つ順序付けられた propagator_block です。 |
|
single_link_registry オブジェクトは、単一のソース ブロックまたはターゲット ブロックのみを管理する network_link_registry です。 |
|
source_block クラスは、ソースのみのブロックの抽象基本クラスです。このクラスには、基本的なリンク管理機能および一般的なエラー チェック機能が用意されています。 |
|
source_link_manager オブジェクトは、ISource ブロックへのメッセージング ブロック ネットワーク リンクを管理します。 |
|
static_partitioner のクラスは parallel_forを反復処理する範囲に静的パーティション分割を表します。パーティショナーは数のチャンクに underyling スケジューラに使用可能なワーカーがあると範囲を分割します。 |
|
structured_task_group クラスは、並列処理の高度に構造化されたコレクションを表します。task_handle オブジェクトを使用して個々の並列タスクを structured_task_group のキューに配置し、それらのタスクが完了するまで待機するか、実行が完了する前にタスク グループを取り消すことができます。取り消すと、実行が開始されていないタスクはすべて中止されます。 |
|
target_block クラスは、基本的なリンク管理機能と、ターゲットのみのブロックのエラー チェック機能を実現する抽象基本クラスです。 |
|
並列パターン ライブラリの task (PPL) のクラス。task のオブジェクトは、同時実行ランタイムでの並列アルゴリズムによって生成される他のタスクと並列処理のように非同期的に実行できる作業を表します。これは、正常に終了したの型 _ResultType の結果を生成します。型 task<void> のタスクは結果は作成されません。タスクは待たれ、他のタスクとは関係なく取り消すことができます。また、継続then () を使用して他のタスクと結合when_all () および (when_anyのパターン) Choice 構成できます。 |
|
PPL のタスクがスローこのクラスは、例外を取り消す層になります。現在のタスクを強制的について説明します。また、取り消されたタスクの タスクの get() のメソッドによって、がスローされます。 |
|
task_completion_event のクラスは、条件が満たされている遅延や、外部イベントに応答してタスクを可能にするまでタスクの実行を開始することができます。 |
|
task_continuation_context のクラスは、継続を実行する先が必要かを指定できるようにします。Metro スタイルのアプリケーションからこのクラスのみを使用すると便利です。非 Metro のスタイルの apps では、タスクの継続の実行コンテキストは、ランタイムによって決定され、構成できます。 |
|
task_group クラスは、待機または取り消しができる並列処理のコレクションを表します。 |
|
task_handle クラスは個々の並列作業項目を表します。このクラスは、1 つの処理を実行するために必要な命令およびデータをカプセル化します。 |
|
timer メッセージング ブロックは単一のターゲットを持つ source_block であり、指定された時間の経過後か、特定の間隔で、メッセージをターゲットに送信することができます。 |
|
transformer メッセージング ブロックは、単一のターゲットと複数のソースを持つ順序付けられた propagator_block であり、1 つの種類のメッセージを複数受け入れ、別の種類のメッセージを無制限に格納することができます。 |
|
unbounded_buffer メッセージング ブロックは、メッセージを無制限に格納することができる、複数のターゲットと複数のソースを持つ順序付けられた propagator_block です。 |
|
このサポートされていないオペレーティング システムを使用した場合、このクラスは、例外を示します。同時実行ランタイムでは、Windows XP Service Pack 3 より前のバージョンのオペレーティング システムはサポートされません。 |
構造体
名前 |
説明 |
---|---|
DispatchState 構造体は、状態を IExecutionContext::Dispatch メソッドに転送するために使用されます。Dispatch メソッドが IExecutionContext インターフェイスで呼び出される状況を示します。 |
|
特定の仮想プロセッサで実行でき、協調的にコンテキストを切り替えることができる実行コンテキストへのインターフェイスです。 |
|
ハードウェア スレッドの抽象化です。 |
|
同時実行ランタイムのリソース マネージャーに対するインターフェイスです。これは、スケジューラがリソース マネージャーと通信する際に使用されるインターフェイスです。 |
|
作業スケジューラの抽象化のインターフェイスです。同時実行ランタイムのリソース マネージャーは、このインターフェイスを使用して作業スケジューラと通信します。 |
|
スケジューラは、このインターフェイスを使用して同時実行ランタイムのリソース マネージャーと通信して、リソース割り当てをネゴシエートします。 |
|
実行スレッドの抽象化です。作成するスケジューラの SchedulerType ポリシー キーに応じて、リソース マネージャーは、通常の Win32 スレッドまたはユーザー モード スケジュール可能 (UMS: User-Mode Schedulable) スレッドによってサポートされるスレッド プロキシを許可します。UMS スレッドは、Windows 7 以上のバージョンの 64 ビット オペレーティング システムでサポートされます。 |
|
リソース マネージャーによって定義された実行リソースへのインターフェイス。 |
|
リソース マネージャーで定義されているトポロジのノードへのインターフェイス。ノードは、一つ以上の実行リソースが含まれています。 |
|
UMS の完了リストを表します。UMS スレッドがブロックされると、基になる仮想プロセッサ ルートでスケジュールする内容を決定するためにスケジューラで指定されているスケジュールのコンテキストがディスパッチされ、元のスレッドがブロックされます。元のスレッドがブロックされない場合、オペレーション システムは、このインターフェイスからアクセスできる完了リストのキューにそれを配置します。スケジューラは指定されたスケジュール コンテキスト、または作業を検索するその他の場所にある完了リストを照会できます。 |
|
同時実行ランタイムのリソース マネージャーによってユーザー モード スケジュール可能 (UMS) スレッドが渡される必要がある作業スケジューラの抽象化のインターフェイスです。リソース マネージャーでは、このインターフェイスを使用して UMS スレッド スケジューラと通信します。IUMSScheduler インターフェイスは IScheduler インターフェイスを継承します。 |
|
実行スレッドの抽象化です。ユーザー モード スケジュール可能 (UMS) スレッドをスケジューラに付与するには、スケジューラ ポリシー要素 SchedulerKind の値を UmsThreadDefault に設定し、さらに IUMSScheduler インターフェイスを実装する必要があります。UMS スレッドは、Windows 7 以上のバージョンの 64 ビット オペレーティング システムでのみサポートされます。 |
|
ブロックされ、スケジューラの指定されたスケジュール コンテキストに制御を戻すことをトリガーされたスレッド プロキシが、ブロック解除され、スケジュールできる状態であることを示す、リソース マネージャーからの通知を表します。このインターフェイスは、GetContext メソッドから返される、スレッド プロキシの関連付けられた実行コンテキストが再スケジュールされると無効になります。 |
|
スレッド プロキシが実行できるハードウェア スレッドの抽象化です。 |
列挙型
名前 |
説明 |
---|---|
agent の有効な状態。 |
|
トレース機能を使用してトレースできるイベントの種類は、エージェント ライブラリに用意しました |
|
同時実行ランタイムによって提供されるトレース機能を使用してトレースできるイベントの種類。 |
|
イベントの型のトレース フラグ |
|
コンテキストが存在するクリティカル領域の種類。 |
|
DynamicProgressFeedback ポリシーによって使用され、スケジューラのリソースのバランスを再調整する際の判断基準として、スケジューラから収集された統計情報に従うか、または IVirtualProcessorRoot インターフェイスの Activate メソッドおよび Deactivate メソッドの呼び出しによってアイドル状態との間で状態が変化する仮想プロセッサのみに基づくかを示します。使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey 列挙型」を参照してください。 |
|
join メッセージング ブロックの種類。 |
|
ブロックへの message オブジェクトの提供に対する有効な応答。 |
|
ポリシー キーは、スケジューラの動作をさまざまな側面から表します。各ポリシー要素は、キーと値の組み合わせで表現されます。スケジューラ ポリシーと、スケジューラに対するその影響の詳細については、「タスク スケジューラ (同時実行ランタイム)」を参照してください。 |
|
基になる実行コンテキスト用にスケジューラが利用するスレッドの種類を示すために、SchedulerKind ポリシーにより使用されます。使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey 列挙型」を参照してください。 |
|
スケジューラに使用されるスケジューリング アルゴリズムを記述するために、SchedulingProtocol ポリシーによって使用されます。使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey 列挙型」を参照してください。 |
|
あるスレッド プロキシから別のスレッド プロキシへの協調的なコンテキスト切り替えを実行するときに、スレッド プロキシの状態を示すために使用します。 |
|
task_group オブジェクトまたは structured_task_group オブジェクトの実行状態を示します。この型の値は、タスク グループに対してスケジュールされたタスクが完了するのを待機している多数のメソッドによって返されます。 |
|
Windows のランタイム バージョンが Windows 8 以上のオペレーティング システムに以上のアプリケーションを実行するためのスケジューラのスレッドでどのように初期化されるかを記述するために WinRTInitialization ポリシーによって使用されるかどうか、および。使用できるスケジューラ ポリシーの詳細については、「PolicyElementKey 列挙型」を参照してください。 |
関数
名前 |
説明 |
---|---|
同時実行ランタイムのキャッシュ サブアロケーターしてから、指定したサイズのメモリ ブロックを割り当てます。 |
|
オーバーロードされます。ターゲット ブロックにデータを反映するタスクをスケジュールする非同期送信操作です。 |
|
現在実行中のタスクをすべて取り消します。この関数は、タスクの実行を中止して canceled の状態に入力した持って機能タスクの本体でから呼び出すことができます。これは is_task_cancellation_requested の関数に応じて使用される可能性がある間、または現在実行中のタスクの取り消しを開始することだけを使用できます。 これは taskの本体に存在しない場合、この関数を呼び出すサポートされるシナリオではありません。そのためには、アプリケーションのクラッシュやこつなど、未定義の動作が発生します。 |
|
ユーザーが指定したラムダ関数またはオブジェクトに基づいて Windows のランタイムの非同期構造を作成します。create_async の戻り値の型は、メソッドに渡されるラムダの定義に基づいて IAsyncAction^、IAsyncActionWithProgress<TProgress>^、IAsyncOperation<TResult>^、または IAsyncOperationWithProgress<TResult, TProgress>^ の 1 つです。 |
|
オーバーロードされます。PPL タスク のオブジェクトを作成します。create_task は、を使用してタスクのコンストラクターを使用できます。これは、便宜上作成時にタスク auto のキーワードを使用するため、主に用意されています。 |
|
同時実行ランタイムのリソース マネージャーのシングルトン インスタンスを表すインターフェイスを返します。リソース マネージャーは、相互の連携を必要とするスケジューラにリソースを割り当てます。 |
|
同時実行ランタイムでのトレースを無効にします。この関数は、ETW トレースが未登録の既定値) の場合は推奨されていません。 |
|
同時実行ランタイムでトレースを有効にします。この関数は、ETW トレースが、既定ではであるため、推奨されます。 |
|
前に同時実行ランタイムのキャッシュ サブアロケーターにする Alloc のメソッドによって割り当てられたメモリ ブロックを解放します。 |
|
IExecutionContext インターフェイスを実装する実行コンテキストに割り当てることのできる一意識別子を返します。 |
|
オペレーティング システムのバージョンを返します。 |
|
基になるシステム上のハードウェア スレッドの数を返します。 |
|
基になるシステム上の NUMA ノードまたはプロセッサ パッケージの数を返します。 |
|
IScheduler インターフェイスを実装するスケジューラに割り当てることができる一意識別子を返します。 |
|
キャンセルの割り込みポイントを作成します。キャンセルがこの関数を呼び出すコンテキストで進行中の場合、これは現在実行の並列処理の実行を中止内部例外をスローします。キャンセルが進行中の場合、この関数は何も実行しません。 |
|
現在のコンテキストで現在インラインで実行されているタスク グループがアクティブなキャンセル処理中である (または間もなくキャンセル処理が開始される) かどうかを示す値を返します。現在のコンテキストで現在インラインで実行されているタスク グループが存在しない場合は、false が返されます。 |
|
現在実行中のタスクの実行をキャンセル要求を受け取ったかどうかを示す値を返します。キャンセルは、タスクにタスクが [キャンセル トークンで作成されている場合は、トークン ソースは、キャンセル トークンに関連付けられた必須です。 |
|
オーバーロードされます。オプションの Scheduler または ScheduleGroup および 2 ~ 10 個の入力ソースから choice メッセージング ブロックを構築します。 |
|
オーバーロードされます。オプションの Scheduler または ScheduleGroup および 2 ~ 10 個の入力ソースから greedy multitype_join メッセージング ブロックを構築します。 |
|
オーバーロードされます。オプションの Scheduler または ScheduleGroup および 2 ~ 10 個の入力ソースから non_greedy multitype_join メッセージング ブロックを構築します。 |
|
task_handle オブジェクトを作成するためのファクトリ メソッドです。 |
|
オーバーロードされます。nondescending 順序に、またはバイナリ述語によって指定される命令の基準に従って指定された範囲の要素を並行して配置します。この関数は、比較型、不安定になること std::sort 意味に似ていますが、埋め込みの並べ替えただし、O(n) の領域を必要とし、並べ替えられる要素に既定の初期化が必要です。 |
|
オーバーロードされます。parallel_for は、一定の範囲のインデックスを反復処理し、各反復処理で、ユーザーが指定した関数を並列で実行します。 |
|
オーバーロードされます。parallel_for_each は、指定された関数を範囲内の各要素に並列で適用します。意味的には std 名前空間の for_each 関数と同等ですが、要素に対する反復処理が並列で行われる点、および反復処理の順序が指定されていない点が異なります。引数 _Func は、operator()(T) の形式の関数呼び出し演算子をサポートしている必要があります (T パラメーターは反復処理するコンテナーの項目の種類を示します)。 |
|
オーバーロードされます。パラメーターとして渡された関数オブジェクトを並列実行し、実行が完了するまでブロックします。各関数オブジェクトは、ラムダ式、関数へのポインター、またはシグネチャ void operator()() を持つ関数呼び出し演算子をサポートするオブジェクトになります。 |
|
オーバーロードされます。基数法のアルゴリズム クラスを使用して非降順に指定した範囲の要素を配置します。これは、符号なしの整数と同様のプロジェクト要素キーに分類できます。投射関数を必要とする安定した並べ替え関数です。既定の初期化に使用される要素が必要です。 |
|
オーバーロードされます。指定された範囲のすべての要素の合計を逐次的な部分の合計を計算することで計算します。または、同様に指定以外の合計 2 進操作から派生した継続的に、一部の結果の結果を並行して計算します。parallel_reducestd::accumulate意味はに似ていますが、2 進操作が結合になるようにする初期値の代わりに ID 値が必要です。 |
|
オーバーロードされます。nondescending 順序に、またはバイナリ述語によって指定される命令の基準に従って指定された範囲の要素を並行して配置します。この関数は、比較型、不規則な並べ替え、埋め込み先であること std::sort 意味に似ています。 |
|
オーバーロードされます。ソース範囲内の各要素、またはペアの 2 種類のソース範囲内の要素に指定された関数は、オブジェクトの追加、コピー先の範囲オブジェクトに関数の戻り値を並列にコピーします。この機能は std::transformと意味は同じです。 |
|
オーバーロードされます。receive の一般的な実装です。これにより、コンテキストで 1 つのソースからのデータを待機し、受け取った値をフィルター処理できます。 |
|
特定のキャンセル トークンのコンテキストで関数オブジェクトをすばやく同期的に実行されます。 |
|
オーバーロードされます。ターゲットがメッセージを受け入れるか拒否するまで待機する同期送信操作です。 |
|
オーバーロードされます。同時実行ランタイムの内部ワーカー スレッドによって使用される指定された関係のセットに実行リソースを制限します。 このメソッドは、リソース マネージャーが作成される前に、またはでのみ有効 2 種類のリソース マネージャーの有効期間をときにこのメソッドを呼び出します。このメソッドは、リソース マネージャーが呼び出されたときに存在しない限り複数回呼び出すことができます。関係の制限が設定された後、set_task_execution_resources のメソッドに次の有効な呼び出しまで有効です。 関係マスクは、プロセス関係マスクのサブセットである必要はありません提供します。プロセス アフィニティが必要に応じて更新されます。 |
|
2 つの concurrent_vector オブジェクトの要素を交換します。 |
|
ETW トレース メッセージ ブロックまたはエージェントにファイル名を関連付けます。 |
|
オーバーロードされます。try-receive の一般的な実装です。これにより、コンテキストで 1 つのソースに対してのみデータの検索を実行し、受け取った値をフィルター処理できます。データが準備されていない場合、メソッドは false を返します。 |
|
指定した時間だけ現在のコンテキストを停止します。 |
|
オーバーロードされます。引数として指定されたタスクのすべてが正常に完了したら正常に完了するタスクを作成します。 |
|
オーバーロードされます。引数として指定されたタスクが正常に完了したら正常に完了するタスクを作成します。 |
演算子
名前 |
説明 |
---|---|
演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトと等しくないかどうかを調べます。 |
|
オーバーロードされます。引数として指定されたタスクの両方が正常に完了したら正常に完了するタスクを作成します。 |
|
オーバーロードされます。引数として指定されたタスクのいずれかが正常に完了したら正常に完了するタスクを作成します。 |
|
演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトより小さいかどうかを調べます。 |
|
演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクト以下かどうかを調べます。 |
|
演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトと等しいかどうかを調べます。 |
|
演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクトより大きいかどうかを調べます。 |
|
演算子の左側の concurrent_vector オブジェクトが右側の concurrent_vector オブジェクト以上であるかどうかを調べます。 |
定数
名前 |
説明 |
---|---|
エージェント ライブラリによって発生した同時実行ランタイムでの ETW イベントを表すカテゴリの GUID ({B9B5B78C - 0713 - 4898 ~ 21。C 67949DCED07.})。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、作業またはタスクに直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムの ETW プロバイダーの GUID。 |
|
Visual Studio 2010 で定義されているリソース マネージャー インターフェイスのサポートを示します。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、別のカテゴリで具体的に説明されていない ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、コンテキストに直接関係する ETW イベントを表すカテゴリの GUID。 |
|
待機がタイムアウトしないことを示す値。 |
|
待機がタイムアウトしたことを示す値。 |
|
スケジューラのすべてのコンテキストのスレッド優先順位が、スケジューラを作成したスレッドの優先順位と同じになることを示す ContextPriority ポリシー キーの特別な値。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、ロックに直接関係する ETW イベントを表すカテゴリの GUID。 |
|
MinConcurrency ポリシー キーおよび MaxConcurrency ポリシー キーの特殊な値。他の制約が存在しない場合、既定でコンピューター上のハードウェア スレッドの数になります。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、parallel_for_each 関数の使用に直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、parallel_for 関数の使用に直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、parallel_invoke 関数の使用に直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、リソース マネージャーに直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、スケジュール グループに直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される ETW イベントのうち、スケジューラ アクティビティに直接関係する ETW イベントを表すカテゴリの GUID。 |
|
同時実行ランタイムによって生成される 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