当前位置: 首页 > 面试题库 >

python的time.sleep()有多准确?

庾波光
2023-03-14
问题内容

我可以给它加上浮点数,例如

time.sleep(0.5)

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

time.sleep(0.05)

它真的会睡约50毫秒吗?


问题答案:

time.sleep函数的准确性取决于你底层操作系统的睡眠准确性。对于非实时操作系统(如普通Windows),你可以睡眠的最小间隔约为10-13毫秒。在最小的10-13毫秒以上的时间里,我已经看到了几毫秒内的准确睡眠。

更新:就像在下面引用的文档中提到的那样,通常以循环方式进行睡眠,以确保在早起的情况下可以重新进入睡眠状态。

我还应该提到,如果你正在运行Ubuntu,则可以通过安装rt内核软件包(至少在Ubuntu 10.04 LTS中)来尝试伪实时内核(带有RT_PREEMPT补丁集)。

编辑:校正非实时Linux内核具有的最小睡眠间隔要比1ms再接近10ms,但是它以不确定性的方式变化。



 类似资料:
  • 问题内容: 我想在我的多线程Python应用程序中定期执行操作。我已经看到了两种不同的方法 要么 一种方法比另一种方法有优势吗?是使用更少的资源还是与其他线程和GIL更好地协作?哪一个使我的应用程序中的其余线程响应更快? (假设有一些外部事件集或,我愿意在关闭时等待完整的延迟) 问题答案: 使用将具有更高的响应速度,因为在设置时,您将立即退出while循环。使用,即使在设置了事件之后,您也将在通话

  • 问题内容: 当我转到页面时,第一个示例是hello world程序。当我在python上运行它时,我看不出与正常的任何区别, 有人可以告诉我区别并举一个简单的例子吗? 我故意将时间从1秒增加到5秒,希望看到一些特别的东西,但我没有。 问题答案: 您不会看到什么特别的东西,因为您的代码中没有太多异步工作。但是,主要区别在于它是阻塞的,并且是非阻塞的。 当被调用时,它会阻止脚本的整个执行,它会被搁置,

  • 描述 (Description) 方法sleep()暂停执行给定的秒数。 参数可以是浮点数,以指示更精确的睡眠时间。 实际的暂停时间可能小于请求的时间,因为任何捕获的信号将在执行该信号的捕获例程后终止sleep()。 语法 (Syntax) 以下是sleep()方法的语法 - time.sleep(t) 参数 (Parameters) t - 这是要暂停的执行秒数。 返回值 (Return Va

  • 问题内容: 我一直在想办法在python脚本中使用它,以使其在不同的间隔执行作业。伪代码如下所示: 总而言之,程序将hibernate直到需要执行下一个作业。它运行该作业,找到要运行的下一个作业,然后hibernate直到需要运行下一个作业(继续到无穷大)。我打算在Linux机器上运行它- 使用cron作业是可能的。有人对此有意见吗? 问题答案: 不,它不占用CPU。 该文件说: 暂停执行指定的秒

  • 问题内容: 我需要使用ctrl c从time.sleep()中断。 在上面的代码中,当控件进入time.sleep函数时,整整60秒钟需要经过python处理CTRL C 有什么优雅的方法可以做到这一点。这样我就可以在控件处于及时状态时中断我的睡眠功能 编辑 我在一个旧的实现中对其进行了测试,该实现在Windows 2000上使用python 2.2,这引起了所有麻烦。如果我使用了更高版本的pyt

  • 问题内容: 我等待5秒钟后试图删除文本框内的文本,但是该程序无法运行,并且会休眠其他所有内容。还有一种方法可以让我的文本框进入睡眠状态,以便在冻结文本时可以运行其他代码? 问题答案: 您确实应该使用Tkinter after方法而不是。 在另一个stackoverflow问题中有一个使用after方法的示例。 这是使用after方法的脚本的修改版本: