여러개의 timer를 사용가능하게 하려면 어떻게 해야 하나요?

ckebabo의 이미지

하나의 프로그램에서 어떠한 개채들의 alive상태를 체크하기 위해 timer를 사용하려고 합니다. 내용은 이렇습니다.
여러 개체들이 프로그램에 주기적/비주기적으로 무언가 통신을 합니다. 이때 오래도록 해당 개체와 아무런 통신이 이루어 지지 않았다면 해당 개체에 대한 내용을 지워버립니다.

제가 생각한 방법은 다음과 같습니다.
n개의 개체들을 주기적/비주기적으로 어플리케이션에 무언가 신호를 보내게 되고 이 때마다 해당 개체에 대한 timer를 초기화하여 줍니다. timer이벤트가 발생하면 해당 개체를 지워줍니다.

여러개의 timer를 이용하여(각 개체마다 타이머를 설정하여) 구현 가능해 보이는데, 그 자세한 사항을 잘 모르겠습니다.
만일 절대적인 시간이 설정 가능한 timer를 구현한다면, 특정 시점을 지정하여 tree나 heap같은 구조로 최근의 timer로 계속 세팅하여 timer를 이끌어 낼 수도 있겠는데, 절대적인 시간에 설정가능한 timer 또한 어떻게 해야할 지 감이 잘 오질 않네요. setitimer(2)나 alarm(2) 모두 특정 단위 시간 간격이나 현재 시각으로부터 얼마 후에 이벤트(?)를 발생시키는 것으로 알고 있는데 어떻게 이용을 해야 할지도 잘...

혹시 비슷한 구현 예라도 있는가요?

jqka1의 이미지

메인 프로그램에서 개체들이 마지막으로 통신한 시간을 저장한뒤에 그시간을 체크해서 처리하게 하는게 좋을듯 하네요..