Python의 time.sleep() 함수는 프로그램 실행을 일시 중지하는 데 유용한 도구입니다. 그러나 특히 부동 소수점 숫자를 사용할 때 정확도에 대한 의문이 있습니다.
time.sleep()의 정확도는 기본 운영 체제에 따라 다릅니다. (OS). Windows와 같은 비실시간 OS의 최소 절전 간격은 약 10~13밀리초입니다.
무슨 뜻인가요? 50밀리초(0.05초) 동안 절전 모드를 시도하면 time.sleep()은 최소 간격(10-13ms)에서 약 50밀리초 동안만 일시 중지될 수 있습니다.
정확도를 높이려면 time.sleep() 주위에 루프를 구현하는 것이 좋습니다. 함수가 의도한 시간 전에 깨어나면 남은 기간 동안 다시 절전 모드로 전환됩니다.
더 정확한 절전 간격이 필요한 경우 의사 실수 사용을 고려하세요. Ubuntu의 rt 커널(RT_PREEMPT 패치 세트)과 같은 -time 커널. 이렇게 하면 최소 절전 간격을 약 1밀리초로 줄일 수 있습니다.
비실시간 Linux 커널의 최소 절전 간격은 1밀리초에 가깝지만 시간에 따라 달라질 수 있습니다. -결정적 방식.
다음은 정확성을 보장하기 위해 루프를 사용한 예:
import time target_sleep_time = 0.05 # 50 milliseconds start_time = time.time() while True: elapsed_time = time.time() - start_time if elapsed_time >= target_sleep_time: break time.sleep(target_sleep_time - elapsed_time)
위 내용은 Python\의 `time.sleep()` 함수는 얼마나 정확하며, 정밀도를 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!