C++ 11 替代 pthread_cond_timedwait
Posted
技术标签:
【中文标题】C++ 11 替代 pthread_cond_timedwait【英文标题】:C++ 11 alternative pthread_cond_timedwait 【发布时间】:2013-04-07 12:32:55 【问题描述】:我需要让一个线程等到任何一个
超时已过期,或 一个变量被另一个线程改变了经过一些研究,我发现 pthreads 有 pthread_cond_timedwait,如果我使用 pthreads,这在这种情况下可能很有用。
我使用的是 C++ 11 线程。在不完全传递给 pthreads 的情况下,是否有适合我的替代方案?
【问题讨论】:
【参考方案1】:是的,你想要 <condition_variable>
中的 std::condition_variable
,它有一个成员函数 wait_for
,需要一段时间。
condition_variable 类是一个同步原语,可以 用于阻塞一个线程,或同时阻塞多个线程, 直到:
收到来自另一个线程的通知 超时到期
【讨论】:
以上是关于C++ 11 替代 pthread_cond_timedwait的主要内容,如果未能解决你的问题,请参考以下文章