我有一支技术全面、经验丰富的小型团队,专注高效交付中等规模外包项目,有需要外包项目的可以联系我

时光飞逝!2024年3月我曾报道过Python将全面拥抱多线程,如今这一方向又有了重大的进展。

Python 3.14正式版预计将在三个月后,也就是2025年10月7日左右发布。这一版本最受瞩目的变化,就是由Thomas Wouters、Matt Page和Sam Gross共同提出的PEP 779提案:“Python自由线程版本支持标准”。从这份提案中,我们可以了解到,自由线程(free-threaded)模式相比传统单线程模式,有着诸多明显优势。目前,许多主流库已经率先支持自由线程版的Python。

虽然前景令人兴奋,但自由线程模式是否会成为Python的默认设置,目前还没有最终确定。

那到底什么是“自由线程Python”?我们熟悉的传统Python,由于全局解释器锁(Global Interpreter Lock,简称GIL)的存在,即使在多线程环境下,Python代码实际上也只能在单线程上执行。GIL的本意是为了避免多线程并发时的冲突,却也大幅限制了多线程环境下Python的执行效率。

而自由线程版本则彻底摆脱了GIL的约束,允许Python代码在多个线程中并行运行。这一想法早已在一些实验性分支如nogilfilectomy中有所尝试,并获得积极反馈。

近期,开发者Basile Marchand对Python 3.14 beta 2进行了基准性能测试,特别关注了加入:

--disable-gil

这一标志后的效果。结果不出所料,多线程性能大幅提升:

  • GIL开启:1.97秒

  • GIL关闭:0.56秒

结果表明,关闭GIL后的多线程版本在许多场景下的性能甚至能达到原版的数倍之多。

此外,开发者Julian Schrittwieser也对Python 3.13的无GIL版本进行了测试,他表示:

总体来说,如果线程之间几乎没有共享状态或同步需求,去掉GIL绝对是一个巨大的性能提升。我迫不及待地想在项目中尝试它。不过,在多线程环境下操作共享数据结构时,还需要格外小心。

前端AI·探索:涵盖动效、React Hooks、Vue 技巧、LLM 应用、Python 脚本等专栏,案例驱动实战学习,点击二维码了解更多详情。

图片

最后:

深入React:从基础到最佳实践完整攻略

python 技巧精讲

React Hook 深入浅出

CSS技巧与案例详解

vue2与vue3技巧合集

Logo

欢迎加入我们的广州开发者社区,与优秀的开发者共同成长!

更多推荐