CPython无GIL构建正式获支持,不再是实验特性
自由线程构建现已在文档中列为正式支持,单线程性能损失缩小至约5%到10%,但仍需单独安装3.14t版本。
CPython的自由线程(free-threaded)构建现已在文档中正式列为受支持的版本,不再标注为实验性特性。据 howtogeek.com 报道,该构建仍然保持可选,与默认解释器分开提供,并不取代标准版本。
自由线程构建取消了全局解释器锁(GIL)的限制,使同一进程内的多个线程可以同时执行Python字节码。此前GIL规定同一时刻只能有一个线程执行字节码。此次更新后,专用自适应解释器(specialized adaptive interpreter)也能够在自由线程模式下运行。
性能方面,自由线程构建相对于标准构建的单线程性能损失已缩小到约5%至10%。用户如需使用,需要安装单独标注的构建版本,通常标记为3.14t。像 uv 这样的工具可以同时安装并管理标准构建与自由线程构建。
不过,Python 3.14中的实验性JIT编译器目前尚未在自由线程构建中提供。
从实验到正式支持的路径
Python自早期版本起就带有全局解释器锁,同一进程内只允许一个线程执行字节码。自由线程方案由PEP 703提出,并于2024年10月随Python 3.13作为实验特性发布。首个实验版本运行单线程代码时明显更慢,并且禁用了一些尚未做到线程安全的内部优化。
PEP 779设定了自由线程构建转正的 criteria,并于2025年6月获得接受。2025年10月发布的Python 3.14达到了转正标准。核心团队将当前状态描述为渐进计划中的第二阶段。
快速问答
自由线程构建会取代标准Python吗?
不会。自由线程构建仍是可选项,与默认解释器分开提供。
如何启用自由线程构建?
需要安装单独的构建版本,通常标记为3.14t。uv 等工具可以同时管理标准构建和自由线程构建。
自由线程构建对单线程性能有多大影响?
单线程性能损失已缩小到约5%至10%。