C++ - Boost.Asio에서 Boost.Chrono 베이스의 타이머 사용
Boost 1.49.0 버전에서 Boost.Chrono 베이스의 타이머가 도입 되었다.
- basic_waitable_timer : 클락 전환용
- system_timer : system_clock용 타이머
- steady_timer : steady_clock용 타이머
- high_resolution_timer : high_resolution_clock용 타이머
예제 코드
#include <iostream>
#include <boost/asio.hpp>
#include <boost/asio/steady_timer.hpp>
namespace asio = boost::asio;
namespace chrono = boost::chrono;
void on_timer(const boost::system::error_code& ec)
{
if (!ec) {
std::cout << "on timer" << std::endl;
}
}
int main()
{
asio::io_service io_service;
asio::steady_timer timer(io_service); // chrono 베이스의 타이머
timer.expires_from_now(chrono::milliseconds(100));
timer.async_wait(on_timer);
io_service.run();
}
이 글은 2019-12-11에 작성되었습니다.