ACE Proactor에서 타이머 사용하기 Programming

ACE에서 Proactor는 윈도우에서는 가장 좋은 네트워크 성능을 나타내기 때문에 많이 사용합니다.(IOCP) Procator에서 타이머, 즉 일정시간이 되면 주기적으로 불리는 함수를 사용하는 방법을 간단히 적어보겠습니다.

타이머 객체 등록  : ACE_Proactor::instance()->schedule_timer() 함수를 사용해서 타이머 객체를 등록하는데, 첫번째 인자로 객체를 넣어주면 됩니다. 두번째, 세번째 인자는 타이머가 불리는 주기를 설정하는데, ACE_Time_Value 형식으로 넣어주어야 합니다.  타이머 객체는 ACE_Handler를 상속 받아야 합니다. 제대로 등록이 되면 등록된 타이머 객체의 handle_time_out() 함수가 주기적으로 불립니다.

등록된 타이머 객체 제거 : ACE_Proactor::instance()->cancel_timer() 함수를 사용해서 등록했던 타이머를 제거합니다. 타이머를 등록하고 객체가 소멸되기 전에 삭제를 해주지 않으면 exception이 발생할 수도 있습니다. 우아한 종료를 위해 반드시 제거를 해주는 것이 좋습니다.



덧글

댓글 입력 영역