Python中如何使用asyncio实现异步编程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2808个文字,预计阅读时间需要12分钟。
文章目录+ 异步概念+ 事件循环+ 进程、线程、协程+ 协程函数与协程对象+ await+ Task对象+ asyncio.Future对象+ 异步迭代器
文章目录
- 异步概念
- 事件循环
- 进程、线程、协程
- 协程函数与协程对象
- await
- Task对象
- asyncio.Future对象
- 异步迭代器
- 异步上下文管理器
异步概念
相对于异步的概念,同步指的是一个程序执行完才会执行另一个程序。
举例来说,对于单进程,普通的函数调用就是同步执行。只有当被调用的函数执行完并且return的时候,
才会继续执行主调函数中剩下的代码。
虽然在异步中通过await等待异步函数执行也是这个流程,但是如果一个进程有多于一个任务时,
当在被调的异步函数中阻塞时,就会去执行其他任务了。
python中的语法是
async 用来声明一个函数为异步函数
await 用来声明等待await后面跟的异步函数执行完返回
最开始有一个错误的理解:假设有伪代码await func_a,在执行到伪代码await func_a时,产生一个类似线程的东西去执行func_a函数
而不影响当前await func_a代码之后的代码的运行,即立马执行下面的语句。
但是不是这样子,因为有了await,所以需要等待func_a执行完才会继续执行await func_a后面的代码。
本文共计2808个文字,预计阅读时间需要12分钟。
文章目录+ 异步概念+ 事件循环+ 进程、线程、协程+ 协程函数与协程对象+ await+ Task对象+ asyncio.Future对象+ 异步迭代器
文章目录
- 异步概念
- 事件循环
- 进程、线程、协程
- 协程函数与协程对象
- await
- Task对象
- asyncio.Future对象
- 异步迭代器
- 异步上下文管理器
异步概念
相对于异步的概念,同步指的是一个程序执行完才会执行另一个程序。
举例来说,对于单进程,普通的函数调用就是同步执行。只有当被调用的函数执行完并且return的时候,
才会继续执行主调函数中剩下的代码。
虽然在异步中通过await等待异步函数执行也是这个流程,但是如果一个进程有多于一个任务时,
当在被调的异步函数中阻塞时,就会去执行其他任务了。
python中的语法是
async 用来声明一个函数为异步函数
await 用来声明等待await后面跟的异步函数执行完返回
最开始有一个错误的理解:假设有伪代码await func_a,在执行到伪代码await func_a时,产生一个类似线程的东西去执行func_a函数
而不影响当前await func_a代码之后的代码的运行,即立马执行下面的语句。
但是不是这样子,因为有了await,所以需要等待func_a执行完才会继续执行await func_a后面的代码。

