你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。
如果我的分享对你有帮助,请关注我,一起向上进击。
Python 的全局解释器锁(GIL) 简化了语言引擎盖下的大量代码,但也导致了并行处理方面的一些问题。多年来,社区曾多次尝试移除 GIL。然而,在指导委员会去年接受 PEP 703 之前,没有一次成功。
PEP 703 描述了如何根据 Sam Gross 所做的实验工作移除 GIL。它建议通过构建选项激活现在所谓的自由线程 Python。这种自由线程(free-threaded) Python 预计将成为 CPython 的默认版本,但目前仅用于测试和实验。
当自由线程 Python 面向更多用户时,GIL 仍将默认启用。你可以通过设置环境变量或添加命令行选项来试用无 GIL 版 Python:
$ PYTHON_GIL=0 python
$ python -Xgil=0
这些选项现已纳入 CPython 的主分支。
2024 年 3 月,gh-116167 被实现并合并。
如果您想试用自由线程 Python,需要克隆并自行构建 CPython,并在 configure
中传递 --disable-gil
标志。
注意: 从 python.org 下载的官方预发布版本目前没有启用
--disable-gil
标记。如果你尝试在最新的 Python 3.13.0a5 上禁用 GIL,会得到以下消息:
$ python -Xgil=0
Fatal Python error: config_read_gil: PYTHON_GIL / -X gil are not supported by this build
Python runtime state: preinitialized
- EOF -
文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~
推荐阅读 点击标题可跳转
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版
👇关注我的公众号👇
告诉你更多细节干货
欢迎围观我的朋友圈
👆每天更新所想所悟