GIL 锁

Posted 阜阳小全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIL 锁相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

1.同步锁(掌握)

 

2.死锁,递归锁(掌握)

 

3同步对象,信号量(了解)

 

4 队列(重点)----生产者,消费者模型的创建

 

5 进程(重点)

 

并发&并行

并发:是指系统具有处理多个任务(动作)的能力

并行:是指系统具有 同时  处理多个任务(动作)的能力

并行是并发的一个子集

 

 

同步  与  异步

同步:当进程执行到一个IO操作(等待外部数据)的时候你,--------等:同步

异步:                        ---------不等:异步,一直等到数据接收成功,再回来处理

异步的执行效率要比同步的高

 

 

问题:开多线程时,多核没有用上

 

GIL:全局解释锁

  因为有GIL,所以,同一时刻,只有一个线程被cpu执行

 

处理方法:多进程+协程

 

任务种类:IO密集型  

      计算密集型

对于IO密集型的任务,Python的多线程时有意义的

          可以采用多进程+协程

对计算密集型的任务,Python的多线程就不推荐,Python就不适用了

 

以上是关于GIL 锁的主要内容,如果未能解决你的问题,请参考以下文章

GIL全局解释器锁

Python 36 GIL全局解释器锁

117 GIL全局解释器锁

Python全局解释器锁(GIL)

线程同步锁死锁递归锁信号量GIL

GIL全局解释器锁及协程