2012-08-01 34 views
-4

我有两个线程。一个线程产生一个数字,另一个线程产生一个数字。我需要使用管道或信号量或消息队列来同步此操作。帮我解决这个问题使用C++中的管道进行线程和同步

+1

嗨,欢迎。这不是提问的正确方法。你谷歌你的问题?你是否尝试自己编写程序?很难找到某人只是给你准备好的代码来解决你的问题。请阅读http://mattgemmell.com/2008/12/08/what-have-you-tried/祝你好运 – 2012-08-01 14:15:20

+0

如果你的线程完全在同一个进程中,你可以使用条件变量(如果它们在系统上可用)。 – 2012-08-01 14:32:54

回答

1

这是一个错误的路要走。生成一个额外的线程并同步两个线程需要更多的CPU能力,而不仅仅是在生成器线程中对数字进行平方。

只有当每个步骤都需要足够的计算能力来证明额外的线程时,才能实现管道。

至于你的问题,我建议你应该阅读关于Producer-Consumer模式。野外有许多实现。