十、asyncio
asyncio 用事件循环在少量线程上调度大量协程,适合有异步驱动支持的 I/O 密集负载。本章从协程、Task、Future 和事件循环出发,重点讲结构化并发、取消、超时、背压、并发上限与阻塞隔离。
本章目录
学习目标
- 区分协程函数、协程对象、Task 与 Future。
- 理解事件循环的协作式调度与任务生命周期。
- 使用
TaskGroup管理相关任务,用timeout和取消建立失败边界。 - 通过
Semaphore/有界 Queue 实现并发限制和背压。 - 隔离阻塞 I/O/CPU 工作,并编写不依赖睡眠猜时序的异步测试。
验证基线
example-project/src/tasklib/asyncio_examples.py 已在 PYTHONASYNCIODEBUG=1 下通过 3 个专项测试:并发上限、取消清理、超时;无遗留任务或未等待协程告警。
关联章节
- 上一章:09 多进程
- 下一章:11 CPython、内存与运行时(🚧)
