用C++构建多线程工作队列(使用者/生产者)

7 c++ multithreading deque

我有以下场景:我有一个单独的线程,应该用一对整数填充一个容器(本质上,任务描述),我有大量的工作线程(8-16),应该从这里获取元素容器并执行一些工作.

我认为这个问题可以通过阻塞队列轻松解决 - 例如,在删除项目时,线程会同步对队列的访问,如果没有可用数据则会休眠.

我(也许是错误的)认为这样的东西应该存在于STL或者boost中,但我无法找到任何东西.

我真的必须自己实施那件事吗?这似乎是一种常见的场景......

jil*_*wit 0

我认为message_queuefromboost::interprocess就是你想要的。第二个链接有一个使用示例。