2011-01-10 5 views
1

확인 시간 :간단한 알람 시계와 내가 파이썬에 알람 시계를 만들고 간단한 질문이있어 매 초마다

내 알람 시계의 해상도는 아래 두 번째로 할 필요가 있습니다. 현재 나는 매 0.5 초마다 깨우는 쓰레드를 가지고 있으며, 소리를내는 시간을 확인합니다.

나의 유일한 관심사는 알람 시계 스레드가 잠시 동안 잠을 자고 있었기 때문에 어떤 시점에서 시스템이 완전히 과부하되고 알람이 울리지 않는다는 것입니다.

제 질문은 매 0.05 초마다 더 좋을까요? 또는 특정 시간 동안 파이썬으로 이벤트 처리기를 등록하는 방법이 있으므로 시간을 직접 확인하지 않아도됩니다.

+0

어떤 방식으로 작업하는지 알 수있는 코드를 게시 할 수 있습니까? –

답변

2

타이머 기능에 대해서는 signal module 표준을 확인하십시오.

또한 행동을 트리거 할시기를 이미 알고 있다면 실행하기 전에 time.sleep(seconds)을 실행하십시오. (seconds은 분명히 초 이내에 작업을 실행하는 데 걸리는 시간이어야합니다)

+0

사용자가 시간을 변경하거나 프로세스를 멈추거나 시스템을 최대 절전 모드로 설정하지 않으면 확인할 이벤트가 하나만 있으면 쉽게 수행 할 수 있습니다. – BatchyX

+0

글쎄, 프로세스가 "정지"하면 다른 대안이 작동하지 않습니다. 중요한 차이점은 'time.sleep'이 훨씬 더 효율적이라는 것입니다. 나는 그 질문이 하나의 이벤트 핸들링을 지향한다고 생각하지만, 당신은 언제나 여러 이벤트를 여러 스레드로 보낼 수있다. – scoffey

2

그게 최선의 해결책은 아닙니다. 1 초 이상 갇혀 있다고 보장 할 수는 없습니다.

또는 기한이 일 때마다 이벤트를 발생시키고 이벤트가 발생할 경우 플래그를 유지해야합니다. 그렇다면 항상 정확히 한 번 해고 될 수있는 목표 시간에 가깝게 해고 될 것입니다.

관련 문제