gpt4 book ai didi

Python GIL 和多线程

转载 作者:太空狗 更新时间:2023-10-30 02:33:53 24 4
gpt4 key购买 nike

我想将我的单线程应用程序与工作线程数分开。只有 1 个问题 - 这个 Action 的表现如何?如果 GIL 阻止 python 同时执行超过 1 个线程,我会有任何 yield 吗?

另一点(从 c/c++ 的角度来看)- 据我所知,无论如何,每个线程只能独占执行,因此在比 python 解释器更低的级别上,我有相同的限制。

总结:Python 线程在任务切换部分的效率是否会低于“本地”线程?

最佳答案

不用担心 GIL。根据您的程序所做的事情的种类(计算与 I/O),您将具有不同的性能特征。如果您的程序受 I/O 限制,那么您可能根本不会注意到 GIL。

另一种方法是使用 multiprocessing模块,其中每个进程在其自己的操作系统进程中运行,具有自己的 Python 运行时。您可以通过这种方法充分利用多核,而且通常更安全,因为您不必担心对共享内存的同步访问。

关于Python GIL 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com