猿问

python的时间有多精确?

python的时间有多精确?

我可以给它浮点数,例如

time.sleep(0.5)

但它有多精确?如果我给它

time.sleep(0.05)

它真的睡50毫秒左右吗?


BIG阳
浏览 479回答 3
3回答

缥缈止盈

睡眠功能取决于你底层操作系统的睡眠准确性。对于非实时操作系统,就像股票Windows,你可以睡眠的最小间隔大约是10-13毫秒。我已经看到了准确的睡眠在几毫秒内的时间,当超过最低10-13毫秒。更新:就像下面引用的文档中提到的那样,在一个循环中进行睡眠是很常见的,如果它唤醒了您,那么它将确保您回到睡眠状态。我还应该提到,如果您正在运行Ubuntu,您可以通过安装RT内核包(至少在Ubuntu10.04LTS中)来尝试一个伪实时内核(带有rt_preempt修补程序集)。编辑:校正非实时Linux内核的最小睡眠间隔更接近1ms,而不是10 ms,但它以一种不确定的方式变化。

慕村225694

从文献资料:另一方面,time()和sleep()比它们的Unix等价物更好:时间用浮点数表示,time()返回最准确的可用时间(使用unix)。gettimeofday(如有),以及sleep()将接受具有非零分数的时间(Unix)。select用于在可用的情况下实现此功能)。和更具体地说w.r.t.sleep():暂停执行给定的秒数。这个参数可能是一个浮点数,用来表示更精确的睡眠时间。实际暂停时间可能更少,因为任何捕获的信号都将终止sleep()在信号被执行之后。同时,暂停时间可能会更长由于系统中其他活动的调度而被任意数量的请求。
随时随地看视频慕课网APP

相关分类

Python
我要回答