欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python之GIL全局锁(全局锁的目的是为了让线程更加安全)

程序员文章站 2022-04-22 11:42:11
一、什么是全局锁GIL是全局解释器锁,这个GIL并不是python的特性,他是在Cpython解释器里引入的一个概念,而其他的语言的编写的解释器里就没有这个GIL.二、全局锁的主要作用因为多线程的编程方式,使得线程之间的数据的一致性和状态同步难以把控,为了解决这一数据不能同步的问题,设计了GIL全局解释器锁。三、全局解释器锁如何发挥作用的在Cpython解释器中,当python代码有一个进程开始访问解释器的时候,GIL会把这个线程给锁上,此时此刻=其他的线程只能干等着,无法对解...

一、什么是全局锁

GIL是全局解释器锁,这个GIL并不是python的特性,他是在Cpython解释器里引入的一个概念,而其他的语言的编写的解释器里就没有这个GIL.

二、全局锁的主要作用

因为多线程的编程方式,使得线程之间的数据的一致性和状态同步难以把控,为了解决这一数据不能同步的问题,设计了GIL全局解释器锁。

三、全局解释器锁如何发挥作用的

在Cpython解释器中,当python代码有一个进程开始访问解释器的时候,GIL会把这个线程给锁上,此时此刻=其他的线程只能干等着,无法对解释器的资源进行访问,需要等待这个线程分配的时间到了,这个线程把GIL释放掉,另外的线程才开始跑起来,其实这无疑是一个单线程。类似于给线程加上线程锁,并解锁。

本文地址:https://blog.csdn.net/qq_38570633/article/details/108262428