Skip to content

十、asyncio ​

asyncio 用事件循环在少量线程上调度大量协程,适合有异步驱动支持的 I/O 密集负载。本章从协程、Task、Future 和事件循环出发,重点讲结构化并发、取消、超时、背压、并发上限与阻塞隔离。

本章目录 ​

  1. 协程、任务、Future 与事件循环
  2. 结构化并发、取消、超时与背压

学习目标 ​

  • 区分协程函数、协程对象、Task 与 Future。
  • 理解事件循环的协作式调度与任务生命周期。
  • 使用 TaskGroup 管理相关任务,用 timeout 和取消建立失败边界。
  • 通过 Semaphore/有界 Queue 实现并发限制和背压。
  • 隔离阻塞 I/O/CPU 工作,并编写不依赖睡眠猜时序的异步测试。

验证基线 ​

example-project/src/tasklib/asyncio_examples.py 已在 PYTHONASYNCIODEBUG=1 下通过 3 个专项测试:并发上限、取消清理、超时;无遗留任务或未等待协程告警。

关联章节 ​

  • 上一章:09 多进程
  • 下一章:11 CPython、内存与运行时(🚧)

ICP 备案号待补充 · Gitee 主页