8

的例子boost::this_thread::sleep()似乎使用boost::posix_time::milliseconds. 我已经尝试过了,它可以工作,但我正在使用它boost::chrono来检查系统时钟等。在我看来,我应该能够通过sleep()这样的chrono::duration

boost::this_thread::sleep(boost::chrono::duration(10));

但是编译器给了我以下错误:

... boost_1_49_0\boost/thread/win32/thread_data.hpp(171):错误 C2039:“total_milliseconds”:不是“boost::chrono::duration”的成员

我觉得很困惑。我认为我应该能够做到这一点是否正确?是否有必要转换为posix_time?

4

1 回答 1

12

像这样,使用sleep_forseconds

boost::this_thread::sleep_for( boost::chrono::seconds(10) );

编辑

经过验证,此功能在 boost 1.49.0 中尚不可用。我所有的道歉。这仅适用于 boost 的主干版本。

这意味着如果不转换为 boost.datetime 格式,就不可能调用类似睡眠的函数。

于 2012-03-03T03:11:11.257 回答