编程学习网 > 编程语言 > Python > 自由线程CPython已准备好进行实验了!
2025
03-14

自由线程CPython已准备好进行实验了!


   根据最近公告,py-free-threading.github.io 启动了,它既是一个包含有关添加对自由线程 Python 的支持的文档的资源,也是一个用于在 Python 生态系统中的开源项目中推广的状态跟踪器,如图:

      有些小伙伴可能还不清楚什么是自由线程,所以我们先说一下什么是自由线程以及为什么要有它,以及它解决了什么问题?

     使用Python的小伙伴都知道,Python中有个烦人的玩意儿叫GIL即全局解释锁,详细来说GIL是Python解释器中的一个互斥锁,它确保在同一时刻只有一个线程能够执行Python字节码,这意味着在多线程环境下,Python解释器无法同时利用多个CPU核心进行并行执行,因为只有一个线程能够执行Python字节码指令,所以无法充分利用多核处理器的性能,这意味着在CPU密集型的任务中,Python的性能可能会受到影响,另一方面,由于GIL的存在,Python在处理IO密集型任务时表现良好,因为IO操作通常会导致线程阻塞,而GIL可以确保在这种情况下其他线程可以继续执行。

   综上所述,GIL对Python的影响是在多线程程序中会限制性能表现,但在IO密集型任务中可能会带来一些好处,如果python中为了充分利用多核处理器的性能,我们就必须使用多进程或其他并发编程技术来避开GIL的限制,这就给我们编程带来了麻烦,所以就有人要解决这个问题。

    最早提出这个的是PEP703,经过努力终于使全局全局解释器锁在 CPython 中成为可选项,  自由线程解释器可以在禁用全局解释器锁 (GIL) 的情况下运行,现在可能还想知道我们为什么关心它,因为这是对 CPython 的一项重大更改,允许在同一个解释器中并行运行多个线程((听起来是不是挺激动)), 它作为 CPython 3.13 中的一项实验性功能可用。

     那为什么要引入它呢?当然是为了提高性能,确切的说是多线程性能,它使编写高效并行运行的代码变得非常容易,并且可以有效利用多个 CPU 内核,现代 CPU 中的核心数量不断增加,而时钟速度却没有增长,因此多线程性能的重要性将继续增加,细节可以看py-free-threading.github.io网站内容。

以上就是“自由线程CPython已准备好进行实验了!的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取