python – threading.Timer时间精度
Python’s threading.Timer的时间精度取决于什么?

它取决于使用的操作系统吗?
它取决于使用的Python实现吗?
它取决于间隔吗?
如何进行基准测试?
那里有基准吗?

最佳答案
在CPython中,threading.Timer准确性( waiting part)基于Condition.wait()调用.

Condition.wait()(implemented here)通过连续睡眠完成,延迟为min(延迟* 2,剩余,.05),其中延迟最初设置为0.0005#500 us – >初始延迟1毫秒.根据这个实现(即OS独立),我们可以说精确度至少是time.sleep准确性.

但是,time.sleep()的准确性是基于所使用的操作系统(here is the implementation : floatsleep()),在Windows上,它使用带有内部Windows计时器的WaitForSingleObject(),在Linux上它使用select()方法.

至少,因为除睡眠延迟之外,OS的电荷可能干扰python过程的反应性,调度算法也可能对准确性产生影响.

点击查看更多相关文章

转载注明原文:python – threading.Timer时间精度 - 乐贴网