Python深入浅出:从入门到工程实践17

Python深入浅出:从入门到工程实践17
第 17 章 未来已来:no-GIL 与 C 扩展本章学习目标理解 PEP 703 如何让 GIL 成为可选项掌握 free-threaded Python 的安装、识别与运行时检测理解 biased reference counting、immortalization、deferred refcount 三大机制了解 free-threaded 模式的性能影响(单线程开销 vs 多线程加速)掌握 C 扩展迁移的关键步骤(Py_mod_gil、Critical Sections)使用 Cython 3.1+ 编写 free-threaded 兼容的扩展使用 PyO3 + maturin 编写 Rust 扩展制定合理的 no-GIL 迁移策略动机:GIL 的终结意味着什么三十年来,GIL 是 Python 并发性能的"天花板"——线程再多,CPU 密集型代码也只能用一个核。我们用multiprocessing绕路,用 C 扩展释放 GIL,但这些都是补丁,不是解决方案。2023 年 10 月,PEP 703 被正式接受。Python 3.13(2024.10)提供了实验性的 free-threaded 构建。Python 3.14(2025.10)将其提升为官方支持。GIL 的终结不是"会不