#include <iostream>
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/thread/thread.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
int iWaitMicroSenconds = 1000000;
static void OnTimer(const boost::system::error_code& /*e*/,
boost::asio::deadline_timer* t)
{
std::cout << "OnTimer" << std::endl;
t->expires_at(t->expires_at() + boost::posix_time::microseconds(iWaitMicroSenconds));
t->async_wait(boost::bind(OnTimer,
boost::asio::placeholders::error, t));
}
int main()
{
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::microseconds(iWaitMicroSenconds));
t.async_wait(boost::bind(OnTimer,
boost::asio::placeholders::error, &t));
boost::thread thread1(boost::bind(&boost::asio::io_service::run, &io));
io.run();
thread1.join();
return 0;
}
boost中的asio实现定时器功能
最新推荐文章于 2023-10-28 21:22:15 发布