60 python asyncio模块(异步IO)
一、asyncio 概述
asyncio
是 Python 标准库中用于编写异步 I/O 操作的强大模块,特别适用于处理 I/O 密集型任务。在传统同步编程中,当程序遇到网络请求、文件读写等 I/O 操作时会阻塞等待,导致资源浪费。而 asyncio
通过异步编程模型,让程序在等待 I/O 操作时能同时处理其他任务,极大提升了单线程程序的并发效率。
二、asyncio 核心概念
2.1 协程(Coroutine)
协程是 asyncio
的基础,它是一种可以暂停和恢复执行的特殊函数。通过 async def
关键字定义,使用 await
关键字暂停执行以等待异步操作完成。
import asyncio# 定义协程函数
async def greet():print("开始执行协程")# 模拟异步I/O操作,await会暂停协程执行await asyncio.sleep(1)print("协程恢复执行")return "Hello, asyncio!"
2.1 事件循环(Event Loop)
事件循环是 asyncio
的调度中心,