喜大普奔!Python终行动,天下苦GIL久矣Python客栈共 1859字,需浏览 4分钟 ·2022-05-21 11:29 文 | 罗奇奇 出品 | OSC开源社区(ID:oschina2013) 据 Python 基金会博客介绍,开发者 Sam Gross 在 2022 Python 语言峰会上带来了一个新提案:完全移除 CPython 解释器的 GIL- 全局解释器锁,使 Python 程序获得更快的性能 —— 尤其是多线程程序。 Python 有多个版本,包括 JVM 、 .NET CLR 解释器以及编译器,但该语言的核心实现仍是 CPython 解释器。由于 CPython 的内存管理非线程安全,因此设计了 CPython 的 GIL (Global Interpreter Lock - 全局解释器锁),以防止竞争条件并确保线程安全。GIL 是一个互斥锁,只允许一个线程持有 Python 解释器的控制权,从而保护对 Python 对象的访问,防止多个线程同时执行 Python 字节码。 但事后看来,GIL 并不理想,因为它阻止了多线程的 CPython 程序充分利用多核处理器的性能。但由于 GIL 长期存在,许多官方和非官方 Python 包和模块都深度融合了 GIL 模块,移除 GIL 功能的工作变得任重而道远。此前,开发者 Larry Hastings 在其 “Gilectomy” (GIL 切除手术)项目中试图完成 CPython GIL 功能的移除,但该项目失败了,因为它使单线程 Python 代码显着变慢。 而此次 Python 语言峰会带来了另外一个项目 “nogil”,该项目由 Meta 开发人员 Sam Gross 主持,从项目名称不难看出,这也是一个专注于移除 GIL 的项目。参考了 Gilectomy 项目的失败经验, Sam Gross 意识到 :如果要使 Python 在没有 GIL 的情况下有效工作,则需要添加新的锁,以确保它仍然是线程安全的。然而,向现有代码添加新锁可能非常困难,因为新的锁可能会导致在部分领域的性能大幅下降。 据 Python 基金会的介绍,Gross 将发明一种新型锁,一种 “更吉利” 的锁。如果顺利的话,这个新锁很可能在 Python 3.12 版本亮相,因为 Gross 的提案就是 “在 Python 3.12 中引入一个新的编译器标志,该标志将禁用 GIL。” 此次提案一出,引发网友热议: 对于此次提案,你有什么想说的吗?评论区等你~ END 往期推荐 1、好用!快速释放空间的微信清理工具 2、来挑战下这 10 个 Python 问题 3、Python中堪称神仙的6个内置函数 4、用 Python 远程控制 Windows 服务器,太好用了! 5、神器!竟能把图片视频无损清晰放大N倍! 点击关注公众号,阅读更多精彩内容 浏览 24点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 喜大普奔!Python终行动,天下苦GIL久矣小詹学Python0【喜大奔普】EasyShu【2.3】免费试用数据小魔方0去久矣去久矣 堂 堂独露,俱无回互,多少行人,觌靣错过。咄!咄!咄!?与五湖学道流,休向他家?卜度。轻识古籍0去久矣去久矣 堂 堂獨露,俱無回互,多少行人,覿靣錯過。咄!咄!咄!?與五湖學道流,休向他家?卜度。轻识古籍-繁体0喜大普奔!Element UI for Vue 3.0 来了!勾勾的前端世界0东喜乡普久村普久村是西藏日喀则市白朗县东喜乡下辖的行政村,城乡分类代码为220,为村庄。区划代码为540228208203,居民身份证号码前6位为540228。邮政编码为857000,长途电话区号为0892,车牌东喜乡普久村0东喜乡普久村普久村是西藏日喀则市白朗县东喜乡下辖的行政村,城乡分类代码为220,为村庄。区划代码为5402282东喜乡普久村0久喜地址江苏省/淮安市/清江浦区/闸口街道/翔宇大道郦城国际社区4号楼B-01室人均暂无菜系日本料理电话暂无营业时间休息中17:00营业久喜0喜奔Hapenss广东喜奔大健康科技有限公司前身属于东莞市顺风运动器材有限公司,始创于上世纪90年代初,坐落于中国鞋都——广东省东莞市,分别在北京、广州、东莞、苏州、美国、新加坡、马来西亚、印尼等设有生产基地和研发公司喜奔Hapenss0喜奔Hapenss广东喜奔大健康科技有限公司前身属于东莞市顺风运动器材有限公司,始创于上世纪90年代初,坐落于中国鞋都喜奔Hapenss0点赞 评论 收藏 分享 手机扫一扫分享分享 举报