使用毫秒而不是在C ++中使用秒来休眠线程

时间:2013-12-09 21:18:20

标签: c++ multithreading boost boost-thread

我有一个提升条件变量,我用来睡一个帖子。

    boost::condition_variable m_cond;

目前我正在使用这样的方式来传递锁定以及它必须睡眠的秒数。目前它将睡10秒

if(!m_cond.timed_wait(lock, boost::posix_time::seconds(10))){


}

有没有办法在毫秒内做同样的事情?我可以通过它必须等待的毫秒数而不是以秒为单位传递它吗?假设我需要等待2秒钟,那么我想传递2000毫秒作为值。这不起作用 -

long ms = 2000;
if(!m_cond.timed_wait(lock, ms)){


}

还有其他办法吗?

1 个答案:

答案 0 :(得分:4)

if(!m_cond.timed_wait(lock, boost::posix_time::milliseconds(2000)))