c++ multithreading boost boost-thread condition-variable

c++ - Ejemplo de uso de boost:: condition:: timed_wait



multithreading boost-thread (1)

¿Alguien tiene un ejemplo de cómo usar más fácilmente boost :: condition :: timed_wait? Aquí hay algunos temas sobre el tema, aquí y aquí , pero ninguno muestra un ejemplo de trabajo. Y el doc boost es, como de costumbre, bastante escaso.


En realidad, finalmente encontré un enlace con un ejemplo completo aquí . Con un poco de adaptación, esta parece ser la llamada.

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