返回目录 / 开发工具
Python asyncio:只在并发 I/O 需要时采用异步
规划事件循环、任务并发、取消、超时和阻塞工作卸载。
Skills
先比较预期并发网络/数据库调用与 CPU 计算比例;低并发脚本维持同步更简单。选择 asyncio 后让调用链保持 async,使用适合的 async 客户端并复用连接池,避免同步 I/O 阻塞事件循环。用 TaskGroup/受控 semaphore 限制并发,传播取消和异常,给外部请求加超时;CPU-heavy函数通过 `asyncio.to_thread()` 或进程池卸载。测试并发取消、资源关闭与慢依赖情形,并用指标证明吞吐收益。
权限边界
前置条件
- 构建有大量并发 I/O 的 Python API、网络客户端、WebSocket 或异步任务。
- 需确认 workload 是 I/O-bound;简单脚本或 CPU-heavy工作可能更适合同步/进程池。
权限边界
- 可改 async call paths、客户端生命周期和任务调度。
- 异步函数若混入阻塞 I/O 会卡住 event loop;不得仅为“更快”而迁移。
限制
保持调用链同步或异步一致;CPU 工作移交线程/进程执行器,取消和异常需传播到任务所有者。
固定上游来源
- 仓库
- wshobson/agents
- 文件路径
- plugins/python-development/skills/async-python-patterns/SKILL.md
- 固定提交
46891e7e60da0e52baf1050b7b6391b64e84c6d9- 来源检查
- 2026-10-14 · 已按固定上游来源核对
仓库指标
以下数字属于上游仓库整体,不代表单个 Skill 或指南的点赞/热度。
- Stars
- 未取得
- Forks
- 未取得
- 观测时间
- 未取得
尚未取得指标快照。
许可证: MIT
适用工具
asyncio event loop · pytest-asyncio · Thread/process executors