Python中如何实现协程及其工作原理详解?

2026-05-05 14:440阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3142个文字,预计阅读时间需要13分钟。

Python中如何实现协程及其工作原理详解?

相关概念:并发与并行

并发:指一个时间段内,有多个程序同时执行。

并行:指同一时刻,有多个程序同时执行。

并发与并行的关系:

在一个时间段内,有多个程序在同一个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分钟。

Python中如何实现协程及其工作原理详解?

相关概念:并发与并行

并发:指一个时间段内,有多个程序同时执行。

并行:指同一时刻,有多个程序同时执行。

并发与并行的关系:

在一个时间段内,有多个程序在同一个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操作完成就开始新的的调用方式。
阅读全文