Python中asyncawait如何体现协程的异步特性?

2026-06-09 10:540阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

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

Python中async/await如何体现协程的异步特性?

前言:Python 3.5 版本中引入了关于协程的语法糖 async 和 await,在 Python 3.7 版本中可以通过 asyncio.run() 运行一个协程。因此,建议学习协程时使用 Python 3.7 版本,以下是一个简单的示例代码:p

前言

Python 在 3.5 版本中引入了关于协程的语法糖 async 和 await, 在 python3.7 版本可以通过 asyncio.run() 运行一个协程。

所以建议大家学习协程的时候使用 python3.7+ 版本,本文示例代码在 python3.8 上运行的。

什么是协程?

网上有个关于洗衣机的例子,写的挺好的,借用下

Python中async/await如何体现协程的异步特性?

假设有1个洗衣房,里面有10台洗衣机,有一个洗衣工在负责这10台洗衣机。
那么洗衣房就相当于1个进程,洗衣工就相当1个线程。
如果有10个洗衣工,就相当于10个线程,1个进程是可以开多线程的。这就是多线程!

**那么协程呢?**
先不急。大家都知道,洗衣机洗衣服是需要等待时间的,如果10个洗衣工,1人负责1台洗衣机,这样效率肯定会提高,但是不觉得浪费资源吗?
明明1 个人能做的事,却要10个人来做。只是把衣服放进去,打开开关,就没事做了,等衣服洗好再拿出来就可以了。
阅读全文

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

Python中async/await如何体现协程的异步特性?

前言:Python 3.5 版本中引入了关于协程的语法糖 async 和 await,在 Python 3.7 版本中可以通过 asyncio.run() 运行一个协程。因此,建议学习协程时使用 Python 3.7 版本,以下是一个简单的示例代码:p

前言

Python 在 3.5 版本中引入了关于协程的语法糖 async 和 await, 在 python3.7 版本可以通过 asyncio.run() 运行一个协程。

所以建议大家学习协程的时候使用 python3.7+ 版本,本文示例代码在 python3.8 上运行的。

什么是协程?

网上有个关于洗衣机的例子,写的挺好的,借用下

Python中async/await如何体现协程的异步特性?

假设有1个洗衣房,里面有10台洗衣机,有一个洗衣工在负责这10台洗衣机。
那么洗衣房就相当于1个进程,洗衣工就相当1个线程。
如果有10个洗衣工,就相当于10个线程,1个进程是可以开多线程的。这就是多线程!

**那么协程呢?**
先不急。大家都知道,洗衣机洗衣服是需要等待时间的,如果10个洗衣工,1人负责1台洗衣机,这样效率肯定会提高,但是不觉得浪费资源吗?
明明1 个人能做的事,却要10个人来做。只是把衣服放进去,打开开关,就没事做了,等衣服洗好再拿出来就可以了。
阅读全文