python之GIL全局锁(全局锁的目的是为了让线程更加安全)
程序员文章站
2022-09-21 09:59:05
一、什么是全局锁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
下一篇: 2020华为算法校园招聘(整数拆分问题)