Пример использования boost :: condition :: timed_wait - PullRequest
14 голосов
/ 16 августа 2011

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

1 Ответ

19 голосов
/ 16 августа 2011

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

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