我很好奇python中的Global Interpreter Lock实际上是如何工作的.如果我有一个c ++应用程序启动python脚本的四个单独实例将在不同的内核上并行运行,或者GIL是否更深入,然后只是启动的单个进程并控制所有python进程,无论生成它的进程如何?
Ale*_*lli 28
GIL仅影响单个进程中的线程.multiprocessing事实上,该模块是threadingPython程序使用多个核心的替代方案.您的方案也很容易允许使用多个核心.
小智 5
正如 Alex Martelli 指出的那样,您确实可以通过运行多个进程来避免 GIL,我只是想补充并指出,GIL 是实现(CPython)的限制,而不是一般 Python 的限制,没有这个也可以实现 Python局限性。我想到了Stackless Python 。