6

我需要做一个线程等到

  • 超时已过期,或
  • 变量被另一个线程更改

经过一些研究,我发现 pthreads 得到了 pthread_cond_timedwait,如果我使用 pthreads,这在这种情况下可能很有用。

我正在使用 C++ 11 线程。在不完全传递给 pthreads 的情况下,是否有适合我的替代方案?

4

1 回答 1

10

是的,你想要std::condition_variablefrom ,它有一个需要一段时间<condition_variable>的成员函数。wait_for

condition_variable 类是一个同步原语,可用于阻塞一个线程,或同时阻塞多个线程,直到:

  • 从另一个线程收到通知
  • 超时到期
于 2013-04-15T11:52:59.407 回答