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**>**。
成员
公共 Typedefs
名称 |
说明 |
---|---|
allocator_type |
表示并发优先级队列的分配器类的类型。 |
const_reference |
表示常数的类型对一个并发优先级队列存储的类型的元素。 |
reference |
表示对该类型元素的类型在一个并发优先级队列存储状态。 |
size_type |
计数元素数在一个并发优先级队列的类型。 |
value_type |
表示数据类型的类型在一个并发优先级队列存储状态。 |
公共构造函数
名称 |
说明 |
---|---|
已重载。 构造一个并发优先级队列。 |
公共方法
名称 |
说明 |
---|---|
清除在并发优先级的所有元素。 此方法不是并发安全方法。 |
|
,如果并发优先级队列为空此方法时调用,测试。 此方法是并发安全方法。 |
|
返回使用的已分配程序的复制构造并发优先级队列。 此方法是并发安全方法。 |
|
已重载。 将元素添加到并发优先级队列。 此方法是并发安全方法。 |
|
返回元素数。并发优先级队列的。 此方法是并发安全方法。 |
|
交换两个并发优先级队列内容。 此方法不是并发安全方法。 |
|
,如果队列非空,移除并从该队列的最高优先级的元素。 此方法是并发安全方法。 |
公共运算符
名称 |
说明 |
---|---|
已重载。 将另一 concurrent_priority_queue 对象的内容分配到此对象中。 此方法不是并发安全方法。 |
备注
有关 concurrent_priority_queue 类的详细信息,请参见 并行容器和对象。
继承层次结构
concurrent_priority_queue
要求
标题: concurrent_priority_queue.h
命名空间: 并发