CPython 全局解释器锁(GIL)

python/gil2026-10-16 18:03:57

CPython 全局解释器锁(GIL)是 CPython 的一种解释器执行同步机制。在常规启用 GIL 的构建中,同一时刻通常只有一个线程执行 Python 字节码。

I/O 与 CPU

线程可在等待 I/O 时释放执行机会,部分扩展也会释放 GIL,因此“有 GIL 就完全不能并发”不准确。对于主要执行 Python 字节码的 CPU 密集任务,增加线程通常不能直接利用多个核心,可评估多进程或其他计算实现。

版本与同步边界

Python 3.13 起提供可禁用 GIL 的 free-threaded 构建选择,但不能把它当作所有 CPython 部署的默认模式。讨论时应注明具体实现、版本、构建及依赖兼容性。

GIL 也不替代业务同步,跨步骤的读改写仍可能需要锁或其他保护。

参考资料

本页目录