#include <iostream>
#include <boost/asio.hpp>
int main()
{
//使用asio的所有程序都需要至少有一个io_context对象。此类提供对I/O功能的访问
boost::asio::io_context io;
boost::asio::steady_timer t(io, boost::asio::chrono::seconds(5));
t.wait();
std::cout << "Hello, world!" << std::endl;
getchar();
return 0;
}
声明一个boost :: asio :: steady_timer类型的对象。提供I / O功能(或在本例中为计时器功能)的核心asio类始终将io_context作为其第一个构造函数参数引用。构造函数的第二个参数将计时器设置为从现在起5秒后到期。
在这个简单的例子中,我们对计时器执行阻塞等待。也就是说,对adjust_timer :: wait()的调用将不会返回,直到计时器到期,创建它5秒后(即不是从等待开始时)。(官方文档中说的是adjust_timer :: wait(),这里是不是出错了,应该是steady_timer :: wait(),求教?????)
计时器始终处于以下两种状态之一:“已过期”或“未过期”。如果在过期的计时器上调用steady_timer :: wait()函数,它将立即返回。