GIL 锁

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

1.同步锁(掌握)

 

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

 

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

 

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

 

5 进程(重点)

 

并发&并行

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

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

并行是并发的一个子集

 

 

同步  与  异步

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

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

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

 

 

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

 

GIL:全局解释锁

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

 

处理方法:多进程+协程

 

任务种类:IO密集型  

      计算密集型

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

          可以采用多进程+协程

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

 

 

 

协程:  协作式,-------非抢占式的程序。线程进程都是程序自己切换的。协程是有程序员编码时自己来决定何时切换

   协程本质上就是一个线程

  优点:1.没有切换的消耗,2,没有锁的概念

  缺点:不能用多核。但可以用多进程+协程来解决此问题

 

yield(协程)

用户态切换

key:什么时候切换

转载于:https://www.cnblogs.com/lhqlhq/p/8990531.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值