2010-12-06 5 views
7

x 밀리 초마다 함수를 비동기 적으로 호출해야합니다. 나는 C++, 리눅스 환경에서 코딩하고있다. 어떤 기능을 구현할 수 있습니까?C++의 타이머 콜백

답변

4
+0

답장을 보내 주셔서 감사합니다. 콜백 함수를 호출하려면 io_service :: run()을 호출해야합니다. 어쨌든 내가 x 밀리 초 후에 콜백 함수를 호출해야하고 io_service :: run()을 호출해야 할 때 특정 시간이 지나면 호출해야하기 때문에 사용 목적을 무효화 할 수있다. 타이머 콜백 함수. 또는 나는 무엇인가 놓치고 있냐? – Steveng

+0

하나의 간단한 것이 빠져 있습니다. 타이머를 호출 할 스레드를 제공해야합니다. 이것이 io_service :: run()의 목적입니다. 원하는 경우 전용 스레드를 만들 수 있습니다. 특별한 환경 (예 : 메시지 루프가있는 일부 위젯 툴킷)에 있다면 Google에 알려줘야합니다. –

+0

"io_service :: run()"을 호출하는 스레드는 다음과 같이 보입니다. boost :: thread timerThread (boost :: bind (& boost :: asio :: io_service :: run, &io)); –