concurrent_priority_queue 类

concurrent_priority_queue 类是允许多个线程同时推送和弹出项的容器。 项目按用作模板参数中提供的 functor 取决于优先级的优先级顺序弹出。

template <
   typename _Ty,
   typename _Compare=std::less<_Ty>,
   typename _Ax = std::allocator<_Ty>
>
, typename _Ax = std::allocator<_Ty> > class concurrent_priority_queue;

参数

  • _Ty
    在优先级队列要存储的元素的数据类型。

  • _Compare
    可以比较函数对象的类型两个元素值决定它们在优先级队列的相对顺序的排序关键字。 此参数是可选的,并且二进制谓词 less<_Ty**>** 是默认值。

  • _Ax
    表示存储的分配器对象封装有关内存分配和释放的详细信息并发优先级队列的类型。 该参数是可选的并且默认值为 allocator<_Ty**>**。

成员

Hh749988.collapse_all(zh-cn,VS.110).gif公共 Typedefs

名称

说明

allocator_type

表示并发优先级队列的分配器类的类型。

const_reference

表示常数的类型对一个并发优先级队列存储的类型的元素。

reference

表示对该类型元素的类型在一个并发优先级队列存储状态。

size_type

计数元素数在一个并发优先级队列的类型。

value_type

表示数据类型的类型在一个并发优先级队列存储状态。

Hh749988.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

concurrent_priority_queue::concurrent_priority_queue 构造函数

已重载。 构造一个并发优先级队列。

Hh749988.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

concurrent_priority_queue::clear 方法

清除在并发优先级的所有元素。 此方法不是并发安全方法。

concurrent_priority_queue::empty 方法

,如果并发优先级队列为空此方法时调用,测试。 此方法是并发安全方法。

concurrent_priority_queue::get_allocator 方法

返回使用的已分配程序的复制构造并发优先级队列。 此方法是并发安全方法。

concurrent_priority_queue::push 方法

已重载。 将元素添加到并发优先级队列。 此方法是并发安全方法。

concurrent_priority_queue::size 方法

返回元素数。并发优先级队列的。 此方法是并发安全方法。

concurrent_priority_queue::swap 方法

交换两个并发优先级队列内容。 此方法不是并发安全方法。

concurrent_priority_queue::try_pop 方法

,如果队列非空,移除并从该队列的最高优先级的元素。 此方法是并发安全方法。

Hh749988.collapse_all(zh-cn,VS.110).gif公共运算符

名称

说明

concurrent_priority_queue::operator= 运算符

已重载。 将另一 concurrent_priority_queue 对象的内容分配到此对象中。 此方法不是并发安全方法。

备注

有关 concurrent_priority_queue 类的详细信息,请参见 并行容器和对象

继承层次结构

concurrent_priority_queue

要求

标题: concurrent_priority_queue.h

命名空间: 并发

请参见

参考

concurrency 命名空间

概念

并行容器和对象