타이머 구현에 대해서 조언을 구합니다..
글쓴이: sharefeel / 작성시간: 월, 2003/07/07 - 1:53오후
타임아웃이 되면 notification 해줄 수 있어야 하는데..
notification은 콜백으로 하려고 합니다.
문제는 여러 개의 타이머가 서로 다른 타임 인터벌로 등록이 될 수 있어야 하고,,
또한 동적으로 등록과 해지가 가능해야 한다는 것인데요..
alarm() 을 사용하려고 했는데..
생각보다 설계가 쉽지 않네요..
usec 단위까지 컨트롤 할 필요는 없지만..
그렇다고 1초단위로 폴링한다거나 하는 건 말이 안되구요..--;;
아이디어 혹은 비슷한 프로젝트가 존재한다면 소개해주셨으면 합니다..
Forums:
정말로 어려운 구현인거 같습니다.저라면 이렇게 하겠는데 이게 좋은거는
정말로 어려운 구현인거 같습니다.
저라면 이렇게 하겠는데 이게 좋은거는 아닐수도 있다는 말을 전제로 하고
예기하겠습니다. 혹시 더 좋은 생각의 글이 올라오면 이글 거들떠 보지도 마세요.
우선 alarm 으로 10ms단위로 설정하여 작동시킵니다.
이 함수에서는 호출될때마다 내부 카운터를 증가시켜주는 것을 합니다.
즉, 카운터는 무조건 10ms마다 증가되도록 만드는거지요.
그 다음에 전역으로 등록구조를 만듭니다.
대충 구조를 잡자면 다음과 같이 만들면 되겠네요.
이런식으로 구조를 가지고 alarm에서는 이를 계속 노드를 검사하여
LocalCounter값을 빼줍니다.
그리고 LocalCounter가 0이 되는 순간 Notification을 호출하기전에
다시 LocalCounter = SetCount; 이렇게 설정후에
Argument를 인자로 호출해줍니다.
저도, 타이머가 없는 곳에서, 타이머를 구현할 때, 비슷한 방법으로 처리
저도, 타이머가 없는 곳에서, 타이머를 구현할 때, 비슷한 방법으로 처리했습니다.
타이머 작업 자체는 리스트 형태로 구현해 두고, 루프를 돌 때마다
tick을 구해서 빼주는 형태로 구현을 했는데, alarm 이 가능하다면,
alarm을 틱처럼 구현해주면 훨씬 더 정확할 것 같네요. ^^
그럼 고운 하루되시길...
=========================
CharSyam ^^ --- 고운 하루
=========================
댓글 달기