运行单独的python进程可以避免GIL吗?

2024-04-20 09:20:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我很好奇python中的全局解释器锁是如何工作的。如果我有一个c++应用程序启动一个python脚本的四个独立实例,它们会在不同的内核上并行运行,还是GIL会比启动的单个进程更深入并控制所有python进程,而不管它是由哪个进程产生的?在


Tags: 实例脚本应用程序进程全局内核解释器gil
2条回答

GIL只影响单个进程中的线程。实际上,multiprocessing模块是允许Python程序使用多核的threading的替代品。您的场景也很容易允许使用多核。在

正如Alex Martelli指出的那样,您确实可以通过运行多个进程来避免GIL,我只想补充并指出,GIL是实现(CPython)的一个限制,而不是Python的一个一般限制,可以在没有这个限制的情况下实现Python。Stackless Python浮现在脑海中。在

相关问题 更多 >