asyncio调度介绍

概述

Python 的 asyncio 库提供了一种基于事件循环的异步编程模型,其核心是无栈协程(Stackless Coroutine)。无栈协程具有以下特性:

  • 单线程事件循环asyncio 在单线程上创建一个事件循环,用于调度协程的执行。
  • 协作式多任务:协程只有在主动交出控制权(如通过 await)时,事件循环才能调度其他协程。
  • 异步等待:使用 await 调用可调度的对象(如协程、FutureTask),并获取其结果。

事件循环

事件循环是 asyncio 的核心组件,负责管理和调度所有异步任务。其工作原理如下:

阅读更多