• GIL 锁


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

    1.同步锁(掌握)

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

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

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

    5 进程(重点)

    并发&并行

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

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

    并行是并发的一个子集

    同步  与  异步

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

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

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

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

    GIL:全局解释锁

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

    处理方法:多进程+协程

    任务种类:IO密集型  

          计算密集型

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

              可以采用多进程+协程

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

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

       协程本质上就是一个线程

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

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

    yield(协程)

    用户态切换

    key:什么时候切换

  • 相关阅读:
    ie标题修改
    求两个数的商在单元格内设置公示显示#ERROR
    明细报表汇总使用说明
    学习了GDI+ 做了个简单的折线图。
    C#读写文本文件,字符串截取
    C#winform去除btn按钮的边框
    观江南大学设计学院2011届迎新晚会有感
    c++的一个程序源码记录
    c#中委托的概念一个总结demo
    《平凡的世界》中田晓霞和孙少平的爱情
  • 原文地址:https://www.cnblogs.com/lhqlhq/p/8990531.html
Copyright © 2020-2023  润新知