내장 된 sched 모듈을 사용하면 앞으로 이벤트를 스케줄 할 수 있습니다. (모든 코드는 파이썬 3입니다.)
import sched
import time
def print_something(x):
print(x)
s = sched.scheduler()
s.enter(1, 0, print_something, ['first'])
s.enter(2, 0, print_something, ['second'])
s.run()
나만의 기능을 제공하여 현재 시간을 가져오고 나중에 지정된 시간까지 기다릴 수 있습니다. 기본값은 time.monotonic (time.time의 수정 된 버전)과 time.sleep입니다. 예상치 못한 지연의 많은 소스가 타이밍 제약하는 경우하는 데스크톱 OS에있다, 현실적으로
import sched
import time
def print_something(x):
print(x)
def busy_wait(target):
while time.monotonic() < target:
pass
s = sched.scheduler(delayfunc=busy_wait)
s.enter(1, 0, print_something, ['first'])
s.enter(2, 0, print_something, ['second'])
s.run()
을하지만 :
당신은 사용하여 약간의 정확도 증가를 얻을과 같이, 바쁜-기다릴 수 실시간 OS 없이는 만족할만한 결과를 얻지 못할 것입니다.
'time.sleep (12.3456)'보다 더 정확한가? 실시간 운영체제가 없으면 얼마나 정확하게 얻을 수 있는지에 대한 제한이있을 것입니다. 확실히 100 초 미만이 될 것입니다. –
예. 'foo'는'print' 전에 실행되기까지 시간이 걸리기 때문에'time.sleep()'가 정확하지 않을까 걱정됩니다. – Skyler
자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/questions/1938048/high-precision-clock-in-python –