[英]threading.Timer time precision
在CPython中,threading.Timer准确性( 等待部分 )基于Condition.wait()调用。
Condition.wait()( 此处实现 )通过连续睡眠完成,延迟为min(delay * 2, remaining, .05)
,其中延迟最初设置为0.0005 # 500 us -> initial delay of 1 ms
。 根据这个实现(即OS独立),我们可以说精确度至少是time.sleep准确性。
但是,time.sleep()的准确性是基于所使用的操作系统( 这里是实现:floatsleep() ),在Windows上,它使用带有内部Windows计时器的WaitForSingleObject()
,在Linux上它使用select()
方法。
至少,因为除睡眠延迟之外,OS的电荷可能干扰python过程的反应性,调度算法也可能对准确性产生影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.