Python中如何使用asyncio实现异步编程?

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

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

Python中如何使用asyncio实现异步编程?

文章目录+ 异步概念+ 事件循环+ 进程、线程、协程+ 协程函数与协程对象+ 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分钟。

Python中如何使用asyncio实现异步编程?

文章目录+ 异步概念+ 事件循环+ 进程、线程、协程+ 协程函数与协程对象+ 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后面的代码。

阅读全文