什么是事件循环?
事件循环(Event Loop)是 asyncio
的核心组件,负责管理异步任务的调度与执行。它是 Python 异步编程的基石,通过非阻塞方式处理 I/O 操作、网络请求等,显著提升程序性能。
📌 核心概念
- 协程(Coroutine):基于事件循环的轻量级线程,通过
async/await
定义 - 任务(Task):将协程包装成任务,由事件循环调度执行
- Future:表示一个尚未完成的异步操作,最终会返回结果
- asyncio.run():启动事件循环的入口函数(Python 3.7+)
📚 使用示例
import asyncio
async def example():
print("开始任务")
await asyncio.sleep(1)
print("任务完成")
# 启动事件循环
asyncio.run(example())
⚠️ 注意事项
- 事件循环是单线程的,但能通过协程实现并发
- 避免在事件循环中执行阻塞操作(如
time.sleep()
) - 使用
asyncio.create_task()
创建多个并发任务
🌐 扩展阅读
如需深入了解 asyncio
的底层机制,可参考 asyncio 官方文档。