繁体   English   中英

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

[英]C++ - Passing data between threads

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM