2013-04-15 50 views
5

我需要讓一個線程等待,直到C++ 11的替代那麼pthread_cond_timedwait

  • 超時已過期,或
  • 一個變量被另一個線程

改變了一些研究,我已經後發現pthreads得到pthread_cond_timedwait這可能是有用的,在這種情況下,如果我會使用pthreads。

我正在使用C++ 11線程代替。沒有完全傳遞給pthreads,是否有適合我的選擇?

回答

9

是的,你想要std::condition_variable<condition_variable>,它有一個成員函數wait_for需要一段時間。

的condition_variable類是原始的同步,可以 可以用來阻塞線程,或者在同一時間的多個線程, 直到:

  • 一通知從另一個線程接收
  • 超時到期
+0

謝謝!它完美適合我的目標。 – Rob013