【问题标题】:C++ 11 alternative pthread_cond_timedwaitC++ 11 替代 pthread_cond_timedwait
【发布时间】:2013-04-07 12:32:55
【问题描述】:

我需要让一个线程等到任何一个

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

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

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

【问题讨论】:

    标签: c++ multithreading c++11 timeout pthreads


    【解决方案1】:

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

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

    • 收到来自另一个线程的通知
    • 超时到期

    【讨论】:

      猜你喜欢
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 2016-02-17
      • 2014-09-30
      • 1970-01-01
      • 2010-12-01
      • 2015-10-18
      相关资源
      最近更新 更多