【发布时间】:2014-10-21 13:32:55
【问题描述】:
我正在寻找具有“阻塞”弹出的单生产者单消费者队列。 Boost spsc_queue 几乎没问题,除了一种方法:
bool pop(T & ret);
Pops one object from ringbuffer.
此方法是“非阻塞”的,如果没有数据则立即返回。 我希望这种方法“阻塞”并等到一些数据到达。
我应该使用哪些集合?
upd 至少有人可以建议任何具有阻塞弹出的 c++ 队列吗?
【问题讨论】:
-
有趣。我也应该用 intel 版本替换 boost spsc_queue 吗?
-
除了英特尔的实现,我们还有什么?
-
很少有严重的并发c++库。如我的回答所述,我强烈考虑包装现有容器。
-
据我了解
tbb:concurrent_bounded_queue是多个生产者,多个消费者。我需要一个生产者一个消费者队列,这可以简化事情吗?可能可以使用更简单的实现?
标签: c++ multithreading c++11