同步线程和信令

时间:2015-04-28 05:42:25

标签: c++ multithreading signals

我试图告诉一个线程,在另一个线程从命名管道读取数据后继续计算是可以的。目前,我有一个无限循环,每次检查新数据。但这是低效的,因为它消耗了100%的CPU ......

我的问题是......有没有办法等待一个线程检查新数据并告诉另一个线程可以继续(类似信号)?

2 个答案:

答案 0 :(得分:0)

您的问题有各种解决方案:

  • Qt的信号和插槽模型
  • C ++:Boost.Signals2或Boost.Signals(不建议使用)
  • C ++:libsigc ++ - 基于模板
  • C ++:sigslot
  • C ++:XLObject - 基于模板,面向Qt。
  • C ++:Signals
  • C:libevent - 多线程,平台依赖
  • C:libev - libevent的最小替代品。

看看它们,找到最适合你的那个。

答案 1 :(得分:-2)

Qt拥有您想要的一切,QThread适用于信号和插槽。