Python的第一个默认自由线程版本3.14已发布一个月,本文简单整理了自由线程项目官网(https://py-free-threading.github.io/)的一些信息,包括三个部分:安装方法、官方的示例场景、以及目前已经兼容Python库。
自由线程的核心目标是取代CPython的全局解释器锁(GIL,Global Interpreter Lock),GIL的主要问题在于并发,在科学和数值计算等计算密集型任务,很难高效利用多核CPU。
GIL在1990年代伴随Python诞生,目标在于简化内存管理(引用计数)和C扩展开发(不需要复杂的锁机制),客观方面,当时主流的机器是单核处理器。
自由线程取代GIL是渐进的:
Python3.13版本,自由线程作为一个可选项引入,用户通过明确指定--disable-gil来使用自由线程(详情参见:https://peps.python.org/pep-0703/)。
近期发布的Python3.14中,首次将自由线程作为默认选项。

一、自由线程的安装
这里仅介绍使用预构建的二进制在Windows、macOS、Fedora、Ubuntu系统的安装,以及使用包管理器Conda安装,其他的方法(从源代码构建,使用容器镜像)可以从官网(https://py-free-threading.github.io/installing-cpython/)查看。
Windows
因为Python官网安装包的限制,新版本会覆盖旧版本环境,如果你打算保留旧环境,来体验3.14版本,官方建议使用nuget的包安装。
管理员方式打开PowerShell,cd到你打算安装的目录,执行如下命令:
$url = 'https://www.nuget.org/api/v2/package/python-freethreaded/3.14.0'Invoke-WebRequest -Uri $url -OutFile 'python-freethreaded.3.14.0.nupkg'Install-Package python-freethreaded -Scope CurrentUser -Source $pwd$python_dir = (Get-Item((Get-Package -Name python-freethreaded).Source)).DirectoryName$env:path = $python_dir + " ools;" + $python_dir + " oolsScripts;" + $env:Path
这只会修改您当前PowerShell会话的Path,因此您还需要将安装的位置添加到环境变量Path中,以便在关闭当前会话后仍能使用它。
macOS
1. 下载安装包。
curl -O https://www.python.org/ftp/python/3.14.0/python-3.14.0-macos11.pkg
2. 创建一个文件来自定义安装以