roughTimer_C_170622.zip

roughTimer_CPP_170622.zip

 

 

제목 : Rough Timer

언어 : C, C++

OS : Ubuntu 14.04

컴파일러 : gcc, g++

라이센스 : 누구나, 어디서나 쓸 수 있습니다. (누가 쓰겠냐마는...)

 

usleep() 함수를 이용해 타이머를 만들어 보았다. (첨부파일 참조)

 

예를 들어 2초짜리 타이머를 등록하면,

쓰레드에서 100ms 마다 1씩 카운트하여 2초가 됐을 때 콜백함수를 호출하는 방식이다.

 

고로, 정확도는 떨어지며 100ms 이하 타이머는 사용할 수 없다.

정확도 보다도 "약 몇초 후에" 식으로 운영되는 타이머라면 심플하게 쓸 수 있을 것이다.

 

 

이에 Rough Timer 로 명명하였다.

 

C++ 코드는 STL List 를 사용하였고,

C  코드는 간단히 linked-list 함수를 만들어 사용하였다.

 

코드 안에 main() 함수에서 간단한 테스트 코드를 볼 수 있다.

 

(주의사항 : 타이머 발동 시, 호출되는 콜백함수는 최대한 빨리 빠져나와야 한다.

 그렇지 않으면 전체 타이머 시간과 다른 타이머에 영향을 준다.)

 

 

 

+ Recent posts