gpt4 book ai didi

python - threading.Timer时间精度

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:34 25 4
gpt4 key购买 nike

Python's threading.Timer 的时间精度是多少?靠什么?

这取决于所使用的操作系统吗?
它取决于所使用的 Python 实现吗?
是否取决于间隔?
如何对标?
是否已经有基准?

最佳答案

在 CPython 中,threading.Timer 精度 ( waiting part ) 基于 Condition.wait() 调用。

Condition.wait() ( implemented here ) 是通过连续 sleep 完成的,延迟为 min(delay * 2, remaining, .05),其中延迟最初设置为 0.0005 # 500 us -> 初始延迟 1 ms。根据这个实现(即独立于操作系统),我们可以说精度至少是 time.sleep 精度。

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

至少,因为除了 sleep 延迟之外,操作系统的充电可能会干扰 python 进程的 react 性,调度算法也会对准确性产生影响。

关于python - threading.Timer时间精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7582752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com