为什么sleep()的工作原理不同?

问题描述 投票:0回答:1

我知道stdout是行缓冲的。但是以下代码在Pydroid 3(不知道确切版本)和Python 3.8.3中的工作方式有所不同。

import time
print('Hello', end = '')
time.sleep(5)
print('World')

在Pydroid 3中,至少在5秒后(至少在之后)打印Hello和World,而在Python 3.8.3中,首先打印Hello,在5秒后打印World。

为什么这会以不同的方式工作?

python time buffer sleep
1个回答
0
投票

time.sleep()函数使用底层操作系统的sleep()函数。最终,此功能存在局限性。例如,在标准的Windows安装上,您可能睡眠的最小间隔为10到13毫秒。

Linux内核往往具有较高的滴答率,其中间隔通常通常接近1毫秒。使用实时内核将进一步提高time.sleep()函数的准确性。

但是,通常,除非您想睡一小段时间,否则通常可以忽略此信息。

© www.soinside.com 2019 - 2024. All rights reserved.