Python中如何实现协程及其工作原理详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3142个文字,预计阅读时间需要13分钟。
相关概念:并发与并行
并发:指一个时间段内,有多个程序同时执行。
并行:指同一时刻,有多个程序同时执行。
并发与并行的关系:
在一个时间段内,有多个程序在同一个CPU上运行,但任意时刻只有一个程序在CPU上运行,这种情况称为并发。
如果同一时刻,有多个程序在CPU上运行,这种情况称为并行。
例如,在一秒内CPU切换了100个进程,那么可以认为CPU的并发数是100。
相关概念
- 并发:指一个时间段内,有几个程序在同一个cpu上运行,但是任意时刻只有一个程序在cpu上运行。比如说在一秒内cpu切换了100个进程,就可以认为cpu的并发是100。
- 并行:值任意时刻点上,有多个程序同时运行在cpu上,可以理解为多个cpu,每个cpu独立运行自己程序,互不干扰。并行数量和cpu数量是一致的。
我们平时常说的高并发而不是高并行,是因为cpu的数量是有限的,不可以增加。
形象的理解:cpu对应一个人,程序对应喝茶,人要喝茶需要四个步骤(可以对应程序需要开启四个线程):1烧水,2备茶叶,3洗茶杯,4泡茶。
并发方式:烧水的同时做好2备茶叶,3洗茶杯,等水烧好之后执行4泡茶。这样比顺序执行1234要省时间。
并行方式:叫来四个人(开启四个进程),分别执行任务1234,整个程序执行时间取决于耗时最多的步骤。
- 同步(注意同步和异步只是针对于I/O操作来讲的)值调用IO操作时,必须等待IO操作完成后才开始新的的调用方式。
- 异步 指调用IO操作时,不必等待IO操作完成就开始新的的调用方式。
本文共计3142个文字,预计阅读时间需要13分钟。
相关概念:并发与并行
并发:指一个时间段内,有多个程序同时执行。
并行:指同一时刻,有多个程序同时执行。
并发与并行的关系:
在一个时间段内,有多个程序在同一个CPU上运行,但任意时刻只有一个程序在CPU上运行,这种情况称为并发。
如果同一时刻,有多个程序在CPU上运行,这种情况称为并行。
例如,在一秒内CPU切换了100个进程,那么可以认为CPU的并发数是100。
相关概念
- 并发:指一个时间段内,有几个程序在同一个cpu上运行,但是任意时刻只有一个程序在cpu上运行。比如说在一秒内cpu切换了100个进程,就可以认为cpu的并发是100。
- 并行:值任意时刻点上,有多个程序同时运行在cpu上,可以理解为多个cpu,每个cpu独立运行自己程序,互不干扰。并行数量和cpu数量是一致的。
我们平时常说的高并发而不是高并行,是因为cpu的数量是有限的,不可以增加。
形象的理解:cpu对应一个人,程序对应喝茶,人要喝茶需要四个步骤(可以对应程序需要开启四个线程):1烧水,2备茶叶,3洗茶杯,4泡茶。
并发方式:烧水的同时做好2备茶叶,3洗茶杯,等水烧好之后执行4泡茶。这样比顺序执行1234要省时间。
并行方式:叫来四个人(开启四个进程),分别执行任务1234,整个程序执行时间取决于耗时最多的步骤。
- 同步(注意同步和异步只是针对于I/O操作来讲的)值调用IO操作时,必须等待IO操作完成后才开始新的的调用方式。
- 异步 指调用IO操作时,不必等待IO操作完成就开始新的的调用方式。

