前言
异步编程在 2026 年已经成为 Python 后端工程师的必备技能。本文系统讲解 asyncio 的核心原理与实战技巧。
一、事件循环:异步的引擎
事件循环是 asyncio 的核心。它负责调度协程、处理 IO 回调。理解事件循环是掌握异步编程的第一步。
import asyncio
async def main():
print("hello asyncio")
asyncio.run(main())
二、协程与任务
使用 asyncio.create_task 将协程包装为任务,实现并发执行。
async def fetch(url):
await asyncio.sleep(1)
return f"data from {url}"
async def main():
tasks = [asyncio.create_task(fetch(f"url_{i}")) for i in range(5)]
results = await asyncio.gather(*tasks)
print(results)
三、常见坑点
1. 在异步代码中调用 time.sleep 会阻塞整个事件循环。
2. 在 async with 退出后才能保证资源释放。
3. asyncio.gather 默认遇到异常会取消所有任务,需要 return_exceptions=True。
四、总结
异步编程让 IO 密集型应用性能提升数倍。掌握 asyncio 是现代 Python 工程师的必修课。