And*_*dry 36 c++ multithreading boost sleep
似乎无法使用boost :: thread睡眠线程.方法sleep需要system_time但是如何构建它?
查看内部库并没有多大帮助......
基本上我在函数中有一个线程,我作为入口点传递给这个线程,我想调用类似的东西
 boost::this_thread::sleep
什么的,怎么做?
谢谢
Ben*_*ley 89
根据您的Boost版本:
要么...
#include <boost/chrono.hpp>
#include <boost/thread/thread.hpp> 
boost::this_thread::sleep_for(boost::chrono::milliseconds(100));
要么...
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/thread/thread.hpp> 
boost::this_thread::sleep(boost::posix_time::milliseconds(100));
你也可以使用微秒,秒,分钟,小时和其他一些,我不确定.
use*_*622 22
在另一篇文章中,我了解boost::this_thread::sleep了Boost v1.5.3已被弃用的内容:http://www.boost.org/doc/libs/1_53_0/doc/html/thread/thread_management.html
相反,试试吧
void sleep_for(const chrono::duration<Rep, Period>& rel_time);
例如
boost::this_thread::sleep_for(boost::chrono::seconds(60));
或者也许试试吧
void sleep_until(const chrono::time_point<Clock, Duration>& abs_time);
我使用Boost v1.53和不推荐使用的sleep功能,并且不定期地破坏了程序.当我更改对该sleep函数的调用以调用该sleep_for函数时,程序停止崩溃.