异步定时器
Demo
#include <iostream> #define BOOST_ASIO_DISABLE_STD_CHRONO #include <boost/asio.hpp> #include <boost/chrono.hpp> #include <boost/system/error_code.hpp> #include <boost/asio/steady_timer.hpp> using namespace boost::asio; int main() { io_service io; steady_timer t1(io); t1.expires_from_now(boost::chrono::milliseconds(5000)); std::cout << t1.expires_at() << std::endl; std::cout << t1.expires_from_now() << std::endl; //t1.wait();
//异步等待,传入回调函数 t1.async_wait( [](const boost::system::error_code& ec) { //lambda表达式,接收错误码参数 std::cout << "hello asio." << std::endl; //忽略错误码 }); io.run(); //启动事件循环,等待定时器事件 std::cout << "Hello World!\n"; getchar(); }
1.boost::system::error_code&;需要添加boost::system::