C++ 11替代pthread_cond_timedwait

Rob*_*013 6 c++ multithreading timeout pthreads c++11

我需要让一个线程等到两个

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

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

我正在使用C++ 11线程.没有完全传递给pthreads,有没有合适的替代方案?

Ker*_* SB 10

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

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

  • 从另一个线程收到通知
  • 超时到期