concurrent_queue 类
concurrent_queue 类是允许对其元素进行先进先出访问的序列容器类。 它允许组有限并发安全操作,例如 push 和 try_pop。
template<
typename _Ty,
class _Ax
>
class concurrent_queue: public ::Concurrency::details::_Concurrent_queue_base_v4;
参数
_Ty
要存储在队列中的元素的数据类型。_Ax
表示存储分配器对象的类型,该对象封装有关为该并发队列分配和解除分配内存的详细信息。 该参数是可选的并且默认值为 allocator<_Ty**>**。
成员
公共 Typedefs
名称 |
说明 |
---|---|
allocator_type |
表示适用于并发队列的分配器类的类型。 |
const_iterator |
表示并发队列中的元素上的非线程安全 const 迭代器的类型。 |
const_reference |
提供对存储在并发队列中的 const 元素的引用从而读取和执行 const 操作的类型。 |
difference_type |
提供并发队列中两个元素之间符号距离的类型。 |
iterator |
表示并发队列中的元素上的非线程安全迭代器的类型。 |
reference |
提供对存储在并发队列中的元素的引用的类型。 |
size_type |
计算并发队列中元素数量的类型。 |
value_type |
表示存储在并发队列中的数据类型的类型。 |
公共构造函数
名称 |
说明 |
---|---|
已重载。 构造并发队列。 |
|
销毁并发队列。 |
公共方法
名称 |
说明 |
---|---|
清除并发队列,销毁所有当前已排入队列的元素。 此方法不是并发安全方法。 |
|
测试在调用此方法时并发队列是否为空。 此方法是并发安全方法。 |
|
返回用于构造并发队列的分配器副本。 此方法是并发安全方法。 |
|
已重载。 将项排入到并发队列的结尾处。 此方法是并发安全方法。 |
|
如果存在项,从队列中取消排队项目。 此方法是并发安全方法。 |
|
已重载。 返回指向并发队列开头的类型 iterator 或 const_iterator 的迭代器。 此方法不是并发安全方法。 |
|
已重载。 返回指向并发队列末尾的类型 iterator 或 const_iterator 的迭代器。 此方法不是并发安全方法。 |
|
返回队列中的项数。 此方法不是并发安全方法。 |
备注
有关更多信息,请参见 并行容器和对象。
继承层次结构
concurrent_queue
要求
**标头:**concurrent_queue.h
命名空间: 并发