Python Muluthreading快速启动但变慢

时间:2020-07-10 05:36:19

标签: python multithreading while-loop

我正在使用线程来运行while循环的许多实例。它起步很快,但是变得非常慢,比使用单个线程要慢。我无法提供代码,但我会尽力而为。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

由于您尚未添加代码,因此我无法解决特定问题。话虽如此,在大多数情况下,使用单线程是使用Python的更好选择,但网络除外,因为网络可能会带来最大的好处(以及其他IO情况)。

这样做的主要原因是Python具有全局解释器锁,该锁可防止同一进程中的两个线程同时运行Python代码。在使用其他语言(例如Java)时,多线程可以跨多个处理器工作并获得最大的收益。此外,多线程处理在Python中运行时会产生开销,并且有时由于race conditions或其他难以调试的错误而给您带来奇怪的结果。作为多线程的替代方法,您可以尝试使用多处理,该主题已在其他堆栈溢出问题中广泛涉及,例如:What are the differences between the threading and multiprocessing modules?

相关问题