欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

并发编程——线程——CPython的GIL解释器锁

发布时间:2024/5/6 python 99 豆豆
生活随笔 收集整理的这篇文章主要介绍了 并发编程——线程——CPython的GIL解释器锁 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、GIL定义

In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. 在CPython中,全局解释器锁(global interpreter lock,GIL)是一个互斥锁,它防止多个本机线程同时执行Python字节码。This lock is necessary mainly because CPython’s memory management is not thread-safe. 这个锁是必要的,主要是因为CPython的内存管理不是线程安全的。(However, since the GIL exists, other features have grown to depend on the guarantees that it enforces.) (然而,由于GIL存在,其他特征已经发展成依赖于它所实施的保证。)

首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。

就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。

有名的编译器例如GCC,INTEL C++,Visual C++等。

Python也一样,同样一段代码可以通过CPython,PyPy,Psyco等不同的Python执行环境来执行。

像其中的JPython就没有GIL。

然而因为CPython是大部分环境下默认的Python执行环境,所以在很多人的概念里CP

总结

以上是生活随笔为你收集整理的并发编程——线程——CPython的GIL解释器锁的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。