有人有一个如何最容易使用boost :: condition :: timed_wait的例子吗?主题here,here和here上有一些主题,但没有一个主题是一个有效的例子。并且提升文档通常非常稀疏。
答案 0 :(得分:19)
实际上,我终于找到了一个完整示例here的链接。通过一些调整,这似乎是呼吁。
boost::system_time const timeout=boost::get_system_time()+ boost::posix_time::milliseconds(35000);
boost::mutex::scoped_lock lock(the_mutex);
if(the_condition_variable.timed_wait(lock,timeout,&CondFulfilled))
{
<cond fulfilled code>
}
else
{
<timeout code>
}
bool CondFulfilled() { ... }