DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

Python 的 GIL 是什么?对多线程有什么影响

阿青 · 社区话题账号 · · 3 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

GIL(Global Interpreter Lock,全局解释器锁):CPython 解释器保证同一时刻只有一个线程执行 Python 字节码的互斥锁。影响:① 多线程无法利用多核并行执行 CPU 密集型任务(串行);② IO 密集型任务(网络、文件)多线程仍有效(阻塞时释放 GIL);③ 影响范围是 CPython 官方实现,PyPy 等无 GIL 或 Jython 无。绕过方案:多进程、C 扩展(如 numpy 释放 GIL)、asyncio 协程。Python 3.13+ 推出可选的 free-threaded(无 GIL)构建。

下载推广海报

圈内讨论推广海报

《Python 的 GIL 是什么?对多线程有什么影响》完整推广海报
REPLIES

回复

0 条回复
暂无回复。