zoukankan      html  css  js  c++  java
  • python 同步异步,并发并行,同步锁

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

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

    同步:当进程执行到一个IO(等待外部数据)的时候,需要等待,等待即同步

    异步:当进程执行到一个IO(等待外部数据)的时候,不需要等待,待数据接收成功后,再回来处理。

    GIL:全局解释锁:无论你有多少个线程,你有多少个CPU,Python在执行的时候会淡定的在同一时刻只允许一个线程运行。(解释器层面保护进程安全)

    GIL的作用:同一时刻,只有一个线程被CPU在执行,造成单线程运行结果,多核用不到。

    垃圾回收机制:解释器的一个线程在进行垃圾回收。

    CPU切换:io阻塞、cpu执行时间窗口等

    线程都是竞争CPU资源来获得执行。

    任务:io密集型(io交互多,CPU空闲时间多)、计算密集型(),time.sleep()等同于io操作

    对于io密集型任务,python的多线程是有意义的,而计算密集型任务,python的多线程就不适用了,可以采用多进程。

    同步锁:即将线程设置成串行,lock=threading.lock(),lock.acquire(),lock.release()

  • 相关阅读:
    11月2号
    2020.9.22 (Java测试)
    2020.8.30 + 每周周报(8)
    2020.8.31
    2020.8.29
    2020.9.23
    伪分布式hbase从0.94.11版本升级stable的1.4.9版本
    python 将列表(也可以是file.readlines())输出多个文件
    hbase0.94.11版本和hbase1.4.9版本的benchamark区别
    idea 配置
  • 原文地址:https://www.cnblogs.com/serpent/p/9366221.html
Copyright © 2011-2022 走看看