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));    //替换上面的定时器初始化

 

posted @ 2019-05-13 14:34  N_zero  阅读(3402)  评论(0)    收藏  举报