[boost.Asio tutorial] Using a timer synchronously

2019. 8. 13. 12:14PL/C++

boost.Asio의 기본적인 기능을 하기 위해서 반드시 <boost/asio.hpp> 헤더파일이 필요하고, 현재 튜토리얼에서는 시간을 다루기 때문에 <boost/date_time/posix_time/posix_time.hpp> 헤더파일 또한 추가한다. 모든 프로그램은 적어도 하나의 boost::asio::io_service 객체를 사용하게 된다

 

5초 동안 blocking하는 예제를 동작시킬 것인데, deadline_timer::wait 멤버함수를 사용한다. 첫번째 인자로는 io_service 객체가 들어가고, 두 번째 인자로는 시간이 들어가게 된다

 

#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

using namespace std;

int main(void) {
	boost::asio::io_context io;
	boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
	t.wait();

	cout << "Hello World\n";
	return 0;
}

 

[출처] https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/tutorial/tuttimer1.html