【问题标题】:sleep the thread using milliseconds instead of using seconds in C++在 C++ 中使用毫秒而不是使用秒来休眠线程
【发布时间】: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)){


}

还有其他方法吗?

【问题讨论】:

标签: c++ multithreading boost boost-thread


【解决方案1】:
if(!m_cond.timed_wait(lock, boost::posix_time::milliseconds(2000)))

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2018-02-17
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 2021-11-20
    • 2022-10-19
    • 2011-09-06
    • 2010-09-10
    相关资源
    最近更新 更多