运行单独的Python进程避免GIL吗?
我很好奇Python中的全局解释器锁实际上是如何工作的。 如果我有一个c ++应用程序启动,python脚本的四个独立实例将在不同核心上并行运行,或者GIL更深入一些,那么启动的单个进程就可以控制所有python进程,而不管产生它的进程?
GIL只影响单个进程中的线程。 multiprocessing
模块实际上是threading
一种替代方案,它允许Python程序使用多个核心&c。 您的方案也可以轻松地使用多个内核。
正如Alex Martelli指出的那样,你确实可以通过运行多个进程来避免GIL,我只想补充并指出GIL是实现(CPython)的限制,而不是一般的Python,可以在没有这个的情况下实现Python局限性。 想到Stackless Python。
链接地址: http://www.djcxy.com/p/86461.html上一篇: Does running separate python processes avoid the GIL?
下一篇: Delete column from pandas DataFrame using del df.column