为了账号安全,请及时绑定邮箱和手机立即绑定

python的时间有多精确?

python的时间有多精确?

BIG阳 2019-08-03 07:03:34
python的时间有多精确?我可以给它浮点数,例如time.sleep(0.5)但它有多精确?如果我给它time.sleep(0.05)它真的睡50毫秒左右吗?
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

睡眠功能取决于你底层操作系统的睡眠准确性。对于非实时操作系统,就像股票Windows,你可以睡眠的最小间隔大约是10-13毫秒。我已经看到了准确的睡眠在几毫秒内的时间,当超过最低10-13毫秒。

更新:就像下面引用的文档中提到的那样,在一个循环中进行睡眠是很常见的,如果它唤醒了您,那么它将确保您回到睡眠状态。

我还应该提到,如果您正在运行Ubuntu,您可以通过安装RT内核包(至少在Ubuntu10.04LTS中)来尝试一个伪实时内核(带有rt_preempt修补程序集)。

编辑:校正非实时Linux内核的最小睡眠间隔更接近1ms,而不是10 ms,但它以一种不确定的方式变化。



查看完整回答
反对 回复 2019-08-04
?
慕村225694

TA贡献1880条经验 获得超4个赞

文献资料:

另一方面,time()sleep()比它们的Unix等价物更好:时间用浮点数表示,time()返回最准确的可用时间(使用unix)。gettimeofday(如有),以及sleep()将接受具有非零分数的时间(Unix)。select用于在可用的情况下实现此功能)。

更具体地说w.r.t.sleep():

暂停执行给定的秒数。这个参数可能是一个浮点数,用来表示更精确的睡眠时间。实际暂停时间可能更少,因为任何捕获的信号都将终止sleep()在信号被执行之后。同时,暂停时间可能会更长由于系统中其他活动的调度而被任意数量的请求。



查看完整回答
反对 回复 2019-08-04
  • 3 回答
  • 0 关注
  • 474 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信