Boost.asio steady_timer篇


同步定时器steady_timer

Demo

#include <iostream>

#define BOOST_ASIO_DISABLE_STD_CHRONO  //使用boost.chrono
#include <boost/asio.hpp> #include <boost/chrono.hpp>  //必须添加这个头文件,否则cout无法输出time_point #include <boost/asio/steady_timer.hpp> using namespace boost::asio;  //打开asio名字空间 int main() { io_service io;  //必须的io_service对象 steady_timer t1(io); t1.expires_from_now(boost::chrono::milliseconds(5000));  //定时器,5000毫秒后定时器终止 std::cout << t1.expires_at() << std::endl;  //查看终止的时间点,单位是纳秒 std::cout << t1.expires_from_now() << std::endl;  //查看终止的时间长度,单位是纳秒 t1.wait();  //调用wait()同步等待   std::cout << "Hello World!\n";      getchar(); }

  1.steady_timer t1;

  可以在构造t1时设置定时器终止的时长。查看数据类型:chrono::nanoseconds &;本打算像书中一样直接传5000_ms进去,结果不行。

steady_timer t1(io, boost::chrono::milliseconds(5000));    //替换上面的定时器初始化

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM