什么是事件循环?

事件循环(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 官方文档

asyncio_event_loop