首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++ -在线程之间传递数据

C++ -在线程之间传递数据
EN

Stack Overflow用户
提问于 2014-11-19 09:35:29
回答 2查看 3.9K关注 0票数 5

我有一个线程池,它由4个线程组成: t1、t2、t3和t4。它们同时运行,但是来自t3和t4的输入取决于来自t2的输出。我应该如何实现消息队列,以便在t2完成后,它将输出数据发送到t3和t4进行处理?我尝试过使用锁定机制来实现消息队列,但是锁的开销似乎很大。是否存在在线程之间传递数据的无锁机制?我正在使用boost::线程在2010中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-19 09:38:22

Boost有一个无锁队列:0/doc/html/lockfree.html

票数 2
EN

Stack Overflow用户

发布于 2014-11-19 09:55:18

您可以考虑tbb。它提供了广泛的并行概念,包括concurrent_queueconcurrent_bounded_queue (用于等待)、pipelineflow::graph。前两个版本也可以在MS 2010的ppl中使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27013348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档