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的主要内容,如果未能解决你的问题,请参考以下文章

本地 COM 接口的 C++ IPC 替代品?

winsock2 的替代品,带有 C++ 中的示例服务器源

itoa() 的 C++ 标准替代方案,用于将 int 转换为以 10 为底的 char*

localtime_r 的 C++11 替代方案

波普勒替代品

c++ 中 MFC 函数的替代方案?