boost::asio::io_service io_service;
boost::asio::deadline_timer timer(io_service, boost::posix_time::seconds(5)); //定义一个5秒的计时器 ,这里指定的是绝对时间
timer.async_wait(handler); //计时时间一到,开始执行handler函数
io_service.run(); //异步操作结束前堵塞,所有异步结束后返回
上面是直接用构造方法定义计时器,这里也可以用deadline_timer的两个成员函数来定义计时器,deadline_timer.expires_at(指定绝对时间),deadline_timer.expires_from_now(指定相对时间),在等待的时候可选择同步或者异步,time.wait()或者time.async_wait(handler),操作起来比较方便,而且还是跨平台的
互联网上的做法是:
FR:海涛高软(hunk Xu) QQ技术交流群:386476712