page contents

什么是GIL?

轩辕小不懂 发布于 2021-09-22 14:44
阅读 481
收藏 0
分类:Python开发
1990
Nen
Nen
- 程序员

GIL,即全局解释器锁 ,一个被广泛吐槽的技术,即便python3.9已经到来,这个GIL依然存在,而且似乎将继续存在。

为了解决多线程之间数据完整性和状态同步的问题,引入了GIL, 它可以保证多个原生线程不会并发执行 Python 字节码。

对于GIL的理解,有一点我们必须严肃的弄清楚,GIL并不是python的特性,而是实现Python解析器(CPython,我们平时默认下载安装使用的解释器)时所引入的一个概念,这个就好比C++是一套语言标准,但可以用 GCC,INTEL C++,Visual C++ 等编译器来编译,编译出来的可执行程序也就不一样。你可以使用 CPython,PyPy , JPython 来执行python的代码,CPython里有GIL,而JPython 就没有。

Python 的维护者们不是没考虑过将GIL移除,可是已经有太多的库依赖这个特性,积重难返。

请先 登录 后评论