如何使boost :: lockfree :: queue动态调整大小

Joe*_*ner 5 c++ boost

boost :: lockfree :: queue提及push的文档可以在需要时分配更多空间.但是我不能为我的生活弄清楚如何实例化这样的队列,我找不到它的一个例子.boost网站上的所有示例都是固定容量的.

这是我正在查看的文档:http: //www.boost.org/doc/libs/1_54_0/doc/html/boost/lockfree/queue.html

Man*_*rse 6

默认值是队列的大小可变.这由typename ...Options模板参数控制.

此外,存在一个错误,即队列需要静态设置容量,即使队列的大小是可变的.通过使用具有初始容量的构造函数可以避免这种情况.

可变大小的队列可以实例化为:

boost::lockfree::queue<T> newQueue(0);
// or equivalently:
boost::lockfree::queue<T, boost::lockfree::fixed_sized<false> > newQueue(0);
Run Code Online (Sandbox Code Playgroud)

固定大小的队列必须使用该fixed_sized选项显式设置选项true或提供大小boost::lockfree::capacity.

请参阅Policies您链接到的文档开头附近的部分.