#include <iostream>
#include <boost/asio.hpp>
#include <chrono>
boost::asio::steady_timer make_timer(boost::asio::io_context& io_context)
{
return boost::asio::steady_timer{ io_context,std::chrono::steady_clock::now() + std::chrono::seconds{3} };
}
int main(){
boost::asio::io_context io_context;
//创建第一个线程计时器 等待运行三秒
auto timer1 = make_timer(io_context);
std::cout << "等待中......." << std::endl;
timer1.wait();
std::cout << "timer1等待结束" << std::endl;
//创建第二个线程计时器 异步运行等待
auto timer2 = make_timer(io_context);
std::cout << "第二个等待开始......" << std::endl;
timer2.async_wait([](const boost::system::error_code& error) {
if (!error)
{
std::cout << "callback function\n" << std::endl;
}
});
std::cout << "第二个等待结束......" << std::endl;
io_context.run();
return 0;
}
boost 简易多线程async_wait
最新推荐文章于 2024-03-15 20:57:49 发布