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

为什么带有线程库的 python 脚本会占用 100% CPU?

为什么带有线程库的 python 脚本会占用 100% CPU?

慕神8447489 2023-07-18 16:41:27
我有一些客户端脚本,它连接到套接字并等待数据。在服务器端有带有 json 包装器的 ZeroMQ lib。所以,实际上,它是一个json数据格式的socket连接。它是来自 Metatrader 的股票市场数据。所以我每分钟等待一条数据线。因为我的时间范围是 M1。问题是为什么这个脚本会占用 100% 的 cpu?大多数时候它应该等待数据而不执行任何操作。我认为脚本中可能存在一些错误。但我还没有穿线技巧。请告诉我应该在哪里寻找问题。
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

是你的:


while True:

    pass

最后——它的重点是消耗CPU。添加一个小的睡眠使用time.sleep,CPU 使用率会降低。或者,如果您只等待线程完成,只需加入它们,它将阻塞,直到它们的执行完成。


例如。:


from time import sleep


while True:

    sleep(0.1)

或者如果您将线程对象收集在列表中,您应该:


for t in threads:

    t.join()


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

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