web-dev-qa-db-ja.com

boost :: condition :: timed_waitの使用例

誰かがboost :: condition :: timed_waitを最も簡単に使用する方法の例を持っていますか?トピック ここここ および ここ に関するいくつかのスレッドがありますが、実際の例を備えたスレッドはありません。そして、ブーストドキュメントはいつものようにかなりまばらです。

15
Cookie

実際、私はついに完全な例のリンクを見つけました ここ 。少し適応すると、これは呼び出しのようです。

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