boost :: condition :: timed_wait的用法示例

Coo*_*kie 14 c++ multithreading boost condition-variable boost-thread

有人有一个如何最容易使用boost :: condition :: timed_wait的例子吗?有一些线程的话题在这里,这里这里,但没有配备工作的例子.并且提升文档通常非常稀疏.

Coo*_*kie 19

其实,我终于找到了具有完全例如链接在这里.通过一些适应,这似乎是呼吁.

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() { ... }
Run Code Online (Sandbox Code Playgroud)