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

我有一些客户端脚本,它连接到套接字并等待数据。在服务器端有带有 json 包装器的 ZeroMQ lib。

所以,实际上,它是一个json数据格式的socket连接。它是来自 Metatrader 的股票市场数据。所以我每分钟等待一条数据线。因为我的时间范围是 M1。

问题是为什么这个脚本会占用 100% 的 cpu?

大多数时候它应该等待数据而不执行任何操作。我认为脚本中可能存在一些错误。但我还没有穿线技巧。请告诉我应该在哪里寻找问题。


慕神8447489
浏览 166回答 1
1回答

幕布斯6054654

是你的:while True:    pass最后——它的重点是消耗CPU。添加一个小的睡眠使用time.sleep,CPU 使用率会降低。或者,如果您只等待线程完成,只需加入它们,它将阻塞,直到它们的执行完成。例如。:from time import sleepwhile True:    sleep(0.1)或者如果您将线程对象收集在列表中,您应该:for t in threads:    t.join()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python