【发布时间】:2013-12-09 21:18:19
【问题描述】:
我有一个提升条件变量,我用它来休眠一个线程。
boost::condition_variable m_cond;
目前我正在使用这样的方法,其中我传递了锁和它必须休眠的秒数。目前它会休眠 10 秒
if(!m_cond.timed_wait(lock, boost::posix_time::seconds(10))){
}
有没有办法在几毫秒内做同样的事情?我可以传递它必须等待的毫秒数,而不是将其传递为几秒钟吗?假设如果我需要等待 2 秒,那么我想传递 2000 ms 作为值。这不起作用 -
long ms = 2000;
if(!m_cond.timed_wait(lock, ms)){
}
还有其他方法吗?
【问题讨论】:
-
boost::posix_time::milliseconds而不是boost::posix_time::seconds
标签: c++ multithreading boost boost-thread