【发布时间】:2016-07-07 09:38:58
【问题描述】:
我需要帮助。 我正在编写以下代码:
std::chrono::system_clock::time_point end_time =
std::chrono::system_clock::now() + std::chrono::seconds(T);
while( end_time > std::chrono::system_clock::now() ){
pthread_cond_wait(&dcond_var, &mutex);
//do work
}
所以我需要一个控制循环,它会持续一段时间,我需要控制循环内的操作由一个条件变量同步。问题是条件变量的等待有时会使控制循环持续时间超过所需的 T 秒。 即使系统正在等待 pthread_cond_wait,是否有一种方法可以在恰好 T 秒后中断 while?
【问题讨论】:
-
为什么不使用
std::condition_variable,它的wait_until成员接受chrono::time_point?
标签: c++