Пример использования boost:: condition:: timed_wait

Есть ли у кого-нибудь пример того, как наиболее легко использовать boost:: condition:: timed_wait? Здесь есть темы по теме здесь, здесь и здесь, но ни один из них не содержит рабочего примера. И ускорение документа как обычно довольно редкое.

Ответы

Ответ 1

На самом деле, я наконец нашел ссылку с полным примером здесь. С небольшим количеством адаптации это кажется вызовом.

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() { ... }