并发,并行,阻塞,非阻塞,同异步阻塞非阻塞概念

  • 进程:进行中的程序就是一个进程(任务管理器中的所有程序都是进程)

    • 进程占用资源,需要操作系统调度
    • PID:能够唯一标识一个进程,关闭进程则消失,下一次启动进程又会得到一个新的PID
    • 进程是计算机当中最小的资源分配单位
  • 并发:多个程序同时执行本质上还是串行只是交替执行快而已(轮流执行

    • 多个程序轮流在一个CPU上执行
    • 宏观上:多个程序同时执行
    • 微观上:多个程序轮流在一个CPU上执行,本质上还是串行只是交替执行快而已
  • 并行:多个程序同时执行,并且同时在多个CPU上执行 (同时执行

  • 同步:在做A事件的时候,发起B事件,必须A事件结束完之后,才继续执行B事件

  • 异步:在做A事件的时候,发起B事件,不需要等待A事件结束,就可以执行B事件

  • 阻塞:在程序运行中CPU不工作就是阻塞input,accept,recv,recvfrom,sleep,connect

  • 非阻塞:在程序运行中CPU工作就是非阻塞

  • 同步阻塞 : 调用一个函数需要等待这个函数的执行结果,并且在执行这个函数的过程中CPU不工作

    inp = input('>>>')

  • 同步非阻塞 :调用一个函数需要等待这个函数的执行结果,在执行这个函数的过程中CPU工作ret = eval('1+2+3-4')

  • 异步非阻塞 :调用一个函数不需要等待这个函数的执行结果,并且在执行这个函数的过程中CPU工作start()

  • 异步阻塞 : 调用一个函数不需要等待这个函数的执行结果,并且在执行这个函数的过程中CPU不工作,开启10个进程异步的,获取这个进程的返回值,并且能做到哪一个进程先结束,就先获取谁的返回值

  • 线程:

    • 线程是进程中的一个单位,不能脱离进程存在
    • 线程是计算机中能够被CPU调度的最小单位
  • 分布式:应用于比较复杂的任务时,把任务分解成多个小块,分散给多个CPU去做

  • 实现分布式的方式:

    • 操作系统
    • 程序、插件软件
      • celery分布式框架
posted @ 2021-06-21 23:33  刘家小仙女  阅读(78)  评论(0编辑  收藏  举报