combinable 类

combinable<T> 对象旨在提供数据的线程私有副本,以在并行算法期间执行无锁线程本地子计算。 在并行操作结束时,线程私有 sub-computation 则可以合并到最终结果。 该类可替代共享变量使用,如果在该共享变量上可能存在大量争用,则可能会使性能提高。

template<
   typename _Ty
>
class combinable;

参数

  • _Ty
    最终合并的结果的数据类型。 类型必须具有复制构造函数和默认构造函数。

成员

公共构造函数

Name

说明

combinable::combinable 构造函数

已重载。 构造新的 combinable 对象。

combinable::~combinable 析构函数

销毁 combinable 对象。

公共方法

Name

说明

combinable::clear 方法

清除先前用法中的所有中间计算结果。

combinable::combine 方法

通过调用提供的 combine 仿函数从本地线程子计算的集合中计算生成最终值。

combinable::combine_each 方法

通过调用为每个线程本地 sub-computation 提供 combine 仿函根据线程本地 sub-computations 集计算最终值。 最终结果由函数对象累积。

combinable::local 方法

已重载。 返回对线程私有子计算的引用。

公共运算符

Name

说明

combinable::operator= 运算符

从另一 combinable 对象分配到 combinable 对象。

备注

有关更多信息,请参见 并行容器和对象

继承层次结构

combinable

要求

**标头:**ppl.h

命名空间: 并发

请参见

参考

Concurrency 命名空间