多处理模块是否修复了CPython多核用法?

在CPython中,线程模块不使用多个内核,因为它使用全局解释器锁.但是我最近从标准库中找到了multiprocessing module,据说它回避了GIL.所以我认为使用该模块可以在CPython中正确使用多个核心,但我想知道我是否正确.

我需要编写一个需要很好地利用多个内核的应用程序,但这不是性能关键所以我可以用Python编写它,但我需要知道这个模块是否允许我使用多个内核?

最佳答案
多处理库使用子进程;这些都在他们自己的Python解释器中运行.

操作系统可以并将在多个进程和核心上安排这些进程,是的.因为每个子进程都是一个单独的Python解释器进程,所以GIL不会干扰.

转载注明原文:多处理模块是否修复了CPython多核用法? - 代码日志