誰かがboost :: condition :: timed_waitを最も簡単に使用する方法の例を持っていますか?トピック ここ 、 ここ および ここ に関するいくつかのスレッドがありますが、実際の例を備えたスレッドはありません。そして、ブーストドキュメントはいつものようにかなりまばらです。
実際、私はついに完全な例のリンクを見つけました ここ 。少し適応すると、これは呼び出しのようです。
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() { ... }