Python中的真正并行性

Fai*_*lde 3 python multiprocessing gil

由于存在GIL,是否有可能在python中具有真正的并行性?据我所知,每个线程在执行之前获取GIL而其他线程一直等到GIL被释放.为什么GIL如果是这样一个瓶颈

mas*_*nun 6

Python,该语言不一定强制执行GIL.这是该语言的不同实现,可能有也可能没有GIL.

CPython(事实上的实现)有GIL.因此,在使用它时,您无法拥有真正的并行线程.但是,您可以使用多处理来获得并行性.PyPy,该语言的另一个实现现在也有GIL.

还有其他Python语言实现(例如Jython和IronPython),它们没有GIL,你可以使用线程来运行并行操作.

Cython有一个GIL,但您可以使用with语句释放它.

提到的项目链接:

有关此主题的更多资源: