次の方法で共有


combinable クラス

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

template<
   typename _Ty
>
class combinable;

パラメーター

  • _Ty
    結合された最終結果のデータ型。 この型には、コピー コンストラクターおよび既定のコンストラクターが必要です。

メンバー

パブリック コンストラクター

名前

説明

combinable::combinable コンストラクター

オーバーロードされます。 新しい combinable オブジェクトを構築します。

combinable::~combinable デストラクター

combinable オブジェクトを破棄します。

パブリック メソッド

名前

説明

combinable::clear メソッド

前回の使用で得た中間の計算結果を消去します。

combinable::combine メソッド

指定された結合ファンクタを呼び出して、スレッド ローカル サブ計算のセットから最終値を計算します。

combinable::combine_each メソッド

指定された結合ファンクタをスレッド ローカル サブ計算ごとに 1 回ずつ呼び出して、スレッド ローカル サブ計算のセットから最終値を計算します。 最終結果の累積計算は関数オブジェクトによって行われます。

combinable::local メソッド

オーバーロードされます。 スレッド プライベート サブ計算への参照を返します。

パブリック演算子

名前

説明

combinable::operator= 演算子

別の combinable オブジェクトから combinable オブジェクトに代入します。

解説

詳細については、「並列コンテナーと並列オブジェクト」を参照してください。

継承階層

combinable

必要条件

ヘッダー: ppl.h

名前空間: Concurrency

参照

参照

Concurrency 名前空間