Python 中的 协程 (Coroutine) 是一种比线程更加轻量级的并发编程方式。它允许你在单线程内通过“协作”的方式实现多任务并发,特别适合 I/O 密集型 任务(如网络请求、文件读写、数据库操作)。 自 Python 3.5 引入 和 关键字,以及 Python 3.4 引入标准库 以来,协程已经成为 Python 现代并发编程的核心。 以下是关于 Python 协程的详细解析: --- 1. 核心概念 什么是协程? 用户态线程:协程完全由程序(用户态)控制,不由操作系统内核管理。 协作式调度:线程是“抢占式”的(操作系统决定什么时候切换),而协程是“协作式”的。协程自己决定何时暂停(挂起)并将控制权交还给事件循环,以便让其他协程运行。 单线程并发:Python 的协程通常运行在一个线程中。这意味着同一时刻只有一个协程在执行代码,但利用 I/O 等待的时间切换任务,实现了极高的并发效率。 关键组件 1. Event Loop (事件循环):协程的引擎。它是一个无限循环,负责监控 I/O 事件,调度和执行协程。 2. Coroutine (协程对象):使用 定义的函数调用...