python gil_理解Python GIL

前言

根据维基百科GIL,全局解释器锁是一种机制,解释器通过这种机制(获取全局解释器锁)来限制同一个时间点只允许一个线程执行,即使是多核环境下.这样保证了多线程编

什么是GIL

根据维基百科GIL,全局解释器锁是一种机制,解释器通过这种机制(获取全局解释器锁)来限制同一个时间点只允许一个线程执行,即使是多核环境下.这样保证了多线程编程的安全.

GIL的优点

提高单线程程序的执行速度 更易于集成c扩展模块 GIL的缺点

无法充分利用多核 多进程与多线程

多线程资源共享,意味着数据的安全性遇到挑战,而多个进程之间的数据是独立的.由于多线程的资源共享就不可避免的遇到线程安全问题.即同一时刻,必须保证只有一个线程对共享资源进行修改.加锁就是一种同步机制.

细粒度锁:程序员自己控制加锁和解锁,比如java 粗粒度锁:解释器从语言层面上维护一个全局的锁机制来保证线程安全. 比如cpython 如果想充分利用多核的资源,取而代之的使用python中的多进程模块 multiproccsing.

参考:

看个人简介

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值