boost好用的定时器

     #include "boost/asio.hpp"

     #include "boost/date_time/posix_time/posix_time.hpp"

     boost::asio::io_service ios_;

    auto& cur_utc_time = boost::posix_time::microsec_clock::universal_time();
    int scan_rate_ = 20000;
    auto& sync_start_time = cur_utc_time + boost::posix_time::millisec(scan_rate_ - (cur_utc_time.time_of_day().total_microseconds() %                                                                                                                                        scan_rate_));
    boost::asio::deadline_timer timer(ios_, sync_start_time);

   while (true)
    {

          timer.expires_at(timer.expires_at() + boost::posix_time::millisec(scan_rate_));

          timer.wait();

}

你可能感兴趣的:(boost)