我经常看到人们谈论 GIL 是每个 Python 解释器的(甚至在 stackoverflow 上也是如此)。
但我在源代码中看到,GIL 似乎是一个全局变量,因此每个 python 进程中的所有解释器都有一个 GIL。我知道他们这样做是因为没有像 lua 或 TCL 那样传递解释器对象,只是一开始设计得不好。而且线程本地存储对于 python 人员来说似乎不可移植。
它是否正确?我简单浏览了一下我在项目中使用的 2.4 版本。
在以后的版本中,尤其是 3.0 中,这是否发生了变化?
GIL 确实是针对每个进程的,而不是针对每个解释器的。这在 3.x 中没有改变。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)