同步异步、并发并行、进程线程、协程 个人简记

1.同步(sycn)异步(asycn):

什么是同步,比如这俩人走路很同步?是这样的同步吗? 并不是。

同步 比如五个任务,12345按顺序执行,第一个执行完再执行下一个。一个一个执行。如果第二个任务执行时间慢,后面第三个任务也不会抢先执行。

优点就是井然有序,一一执行。缺点速度没有异步快。

异步

异步相比同步,他不会向同步一样一一执行,而是哪个任务快直接给后台,再接下一个任务.

缺点:没有顺序,也可能会出现上面代码没执行完下面代码就出来了。

2.并发、并行

并发: 指的是在同一时刻只要能一条指令被执行。如果是多个进程的指令会被快速的轮换执行。从宏观上来看

像是多个进程同时执行的一样。从微观上来看并不是同时执行,把时间分割成多个部分快速的交替执行。

并行:就是多个指令同时被执行。无论是微观还是宏观上看都是同时执行的。

3.进程、线程

进程

概念:

进程就是在运行中的程序,会占用相对应的内存区域。由cpu执行计算。

多进程适用于 cpu密集型任务 比如大量的计算公式。

线程

进程就像是一个工厂,而线程就像是工厂的工人,他们干着各种各样的活(电力,资源,材料)等等在相互配合下共同保证 工厂(进程) 正常安稳运转

线程是 操作系统中能运行调度的最小单位,它包含在进程中。

关系:

单线程程序:一个进程有一个线程

多线程程序: 一个进程可以拥有多个线程,多线程可以让同一个进程同时处理多个任务,相当于拓展了进程的功能

状,态:

就绪状态 阻塞状态 执行状态

多线程适用于:io密集型任务 : 比如web开发。

4.GIL 全局解释器锁

GIL 是跟python语言没有关系的,是官方推荐解释器下来的解释器cpython遗留下的问题。

每个线程在执行时会获取 gil 全局解释器锁,在执行完让下一个线程执行,一个一个执行。不会出现一个在gil状态下的程序没执行完 被其他线程枪走。同一刻只能一个程序被执行 。

5.协程

协程又称微线程,协程是存在线程内部中,完全受程序控制所控制,开销小。(时间短)

也称用户级线程, 在单线程请情况下完成多任务,按照顺序交替执行,特点效率极高,由程序控制,线程越多,协程优势越明显。

单线程多协程适用于:IO密集型任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值