주기적으로 호출하는 타이머 구현 방법



1. timer_create - SIGEV_THREAD 사용

타이머 1개당 스레드 1개씩 생성됨 대신 시그널을 안씀

(linux)








2. timer_create - SIGEV_SIGNAL 사용

시그널 사용. 항상 main thread 만 사용됨

(linux)






3. CreateTimerQueue

타이머 생성마다 스레드 1개씩 생성.

하지만 CreateTimerQueueTimerd 마지막 flag 인자 값에 따라 다름.

(windows)










4. SetTimer

console 에서 사용 가능. 항상 main thread 만 사용됨

(windows)







5. 그 외 타이머

Multimedia Timer (windows)

Waitable Timer (windows)

alarm (linux)


참고

http://linkmemo.tistory.com/entry/Win32-%EA%B3%BC%EC%97%B0-%EC%96%B4%EB%96%A4-Timer%ED%95%A8%EC%88%98%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%A0-%EA%B2%83%EC%9D%B8%EA%B0%80