首页 > 解决方案 > Python 2 到 3 - 较慢的线程执行

问题描述

有人可以告诉我线程从 Python 2 到 Python 3 是否变慢了?我目前正在将我的 Python 2 软件转换为 Python 3,但由于我有同时线程,所以现在一切都很滞后。

我的软件基本上是获取数据、显示数据并将其保存到文件中。我开始在给定的线程 A 中执行此操作。然后线程 A 使用线程 B(它通过 API 的回调接收数据,每 1 毫秒接收一次数据,并将其放入队列中;全部在线程 B 中)和文件-编写线程C(通过队列接收数据)。此外,线程 A(在启动线程 B 和 C 之后)还有一个循环,该循环不断地从数据队列中获取 gata 并将其发送以供显示。

所以我注意到,如果我不启动文件写入线程,我的代码就会像鹰一样快。但是,当我初始化它时,它变得像乌龟一样慢(例如,来自接收数据的 API 的回调,每 100 毫秒左右才获取一次数据)。这段代码在 Python 2 中很快,但现在在 Python 3 中很慢,没有改变我的代码中的任何内容。关于如何解决这个问题的任何线索?

PS。我在这里不使用任何 asyncio 的东西。我正在使用 threading.Thread 来初始化我的线程。

标签: pythonpython-3.xmultithreadingpython-2.xpython-3.7

解决方案


推荐阅读