Python 的 time.sleep 时间不准什么原因?

2022-04-18 10:22:08 +08:00
 lawsiki

做了一个抢购脚本,大概逻辑就是获取开抢时间,然后判断当前时间差,超过 60 秒时每 30 秒检测一次,否则 0.5 秒检测一次,但是从打印日志上看,有时候理论休眠 0.5 秒的实际等了四五秒才执行,如果偏差一点我理解是没有获取到 CPU 时间片导致的,不过这偏差实在有点大,这是什么原因?

4313 次点击
所在节点    Python
24 条回复
ruanimal
2022-04-19 10:11:04 +08:00
肯定是这个循环之外做了别的耗时操作,纯 sleep 不可能有这个问题。

没有完整代码的情况下,盲猜单线程。
killva4624
2022-04-19 14:39:41 +08:00
去掉其他所有逻辑,只运行这段循环打印看看就知道了。
guoqiao
2022-04-19 17:49:05 +08:00
@lawsiki 所以问题应该是 pywebview 导致的?
lawsiki
2022-04-20 16:45:10 +08:00
@guoqiao #23 应该是 pycharm 或 debug 模式导致的,命令行运行正常

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/847591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX