python GIL锁

Python的GIL锁

python GIL锁

C语言写的python解释器中存在全局解释器锁,由于全局解释器锁的存在,在同一时间内,python解释器只能运行一个线程的代码,这大大影响了python多线程的性能。(python注重的是安全性)

  1. 多线程 ,在多线程的情况下,只有当线程获得了一个全局锁的时候,那么该线程的代码才能运行,而全局锁只有一个,所以使用python多线程,在同一时刻也只有一个线程在运行,因此在即使在多核的情况下也只能发挥出单核的性能。故,多线程是单核运行的

  2. 有了GIL为什么还需要线程锁:GIL锁的是解释器,控制CPU,也就是说,锁的是一个线程,同一时刻只能有一个线程利用CPU,线程锁锁的是某一段代码只有一个线程进入执行这个代码(在GIL锁的时候,也可能会有多个线程在同时运行某段代码,因为那段代码不一定再利用CPU)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值