튜토리얼 따라 하며 boost-asio library 사용법 알아보자.
튜토리얼 링크 : Timer.1 - Using a timer synchronously - 1.79.0 (boost.org)
#include <iostream>
#include <boost/asio.hpp>
int main()
{
boost::asio::io_context io;
boost::asio::steady_timer t(io, std::chrono::seconds(5));
t.wait();
std::cout << "Hello, world!" << std::endl;
return 0;
}
asio 사용하려면 적어도 하나의 io context가 있어야 한다(ex. io_context || thread_pool)
io 기능을 제공하는 클래스는 하나의 executor를 첫 번째 파람으로 받아 생성해야 한다.
boost::asio::steady_timer t(io, boost::asio::chrono::seconds(5));
t.wait()는 5초 지나고 리턴된다. 타이머는 항상 expired or not expired 상태를 갖는다. expired 된 타이머의 wait을 콜하면 바로 리턴된다.
Strand 정리 (0) | 2022.08.23 |
---|---|
[boost] asio#2 (0) | 2022.05.02 |
[Visual Studio] Character Set Unicode vs MBCS (0) | 2022.04.26 |
enable_shared_from_this (0) | 2022.04.22 |
lvalue, rvalue 알아보자 (0) | 2021.05.29 |
댓글 영역