boost::this_thread::sleep()
的示例似乎使用了boost::posix_time::milliseconds
的对象。我已经尝试了它并且它可以工作,但我使用boost::chrono
来检查系统时钟等。在我看来,我应该能够sleep()
chrono::duration
这样传递:{/ p>
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
?
答案 0 :(得分:12)
像这样,使用sleep_for
和seconds
boost::this_thread::sleep_for( boost::chrono::seconds(10) );
验证后,此功能尚未在boost 1.49.0中提供。我所有的道歉。这只适用于boost的trunk版本。
这意味着如果不转换为boost.datetime格式,就无法调用类似睡眠的函数。