timer를 7개 사용하는것은 타당하지 않습니다. 다음과 같은 라이브러리를
만들어서 사용하시는 것이 좋습니다.
1. 7개 요청에 대한 것을 모두 포함할 수 있는 해상도를 가지는 타이머프로세스
또는 타이머쓰레드 생성한다.
2. 각 요청에 대해 타이머생성하고 이를 각 프로세스에게 통지하는 동기화
메카니즘을 구현한다.
3. 각요청에 대해서는 보통 타이머 큐를 사용하는 방법이 있으며, 타이머의 등록은
각 요청 프로세스(쓰레드)에 의하고, 이를 expire하는 것은 타이머 프로세스(쓰레드)에
의한다. 이때, 큐는 공유된 리소스이며 동기화 메카니즘이 필요하다.
* 참고: 초단위인 alarm말고 getitimer/setitimer를 사용하여 마이크로 초에
대한 해상도를 가지는 타이머 system call을 사용할 수 있다.
Re: 한 프로그램에서 시스템 타이머를 7개쯤 사용하려는데...가
timer를 7개 사용하는것은 타당하지 않습니다. 다음과 같은 라이브러리를
만들어서 사용하시는 것이 좋습니다.
1. 7개 요청에 대한 것을 모두 포함할 수 있는 해상도를 가지는 타이머프로세스
또는 타이머쓰레드 생성한다.
2. 각 요청에 대해 타이머생성하고 이를 각 프로세스에게 통지하는 동기화
메카니즘을 구현한다.
3. 각요청에 대해서는 보통 타이머 큐를 사용하는 방법이 있으며, 타이머의 등록은
각 요청 프로세스(쓰레드)에 의하고, 이를 expire하는 것은 타이머 프로세스(쓰레드)에
의한다. 이때, 큐는 공유된 리소스이며 동기화 메카니즘이 필요하다.
* 참고: 초단위인 alarm말고 getitimer/setitimer를 사용하여 마이크로 초에
대한 해상도를 가지는 타이머 system call을 사용할 수 있다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
libevent가 요구사항을 만족하네요
http://bbs.kldp.org/viewtopic.php?t=4581&highlight=libevent
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
댓글 달기