Asyncio 是 Python 中一个用于编写并发代码的库。它使用单线程的并发模型,通过事件循环来处理异步操作。以下是一些关于 asyncio 的基础指南。
基础概念
- 协程(Coroutine):协程是 asyncio 的核心概念,它允许函数暂停执行,并在需要时恢复执行。
- 事件循环(Event Loop):事件循环是 asyncio 的调度中心,它负责执行协程、处理IO事件等。
创建协程
import asyncio
async def hello():
print("Hello, world!")
# 运行协程
asyncio.run(hello())
使用 asyncio 进行网络请求
import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
async with aiohttp.ClientSession() as session:
html = await fetch(session, 'https://www.example.com')
print(html)
# 运行异步网络请求
asyncio.run(main())
使用 asyncio 进行文件操作
import asyncio
async def read_file(filename):
async with aiofiles.open(filename, 'r') as f:
return await f.read()
# 读取文件
asyncio.run(read_file('example.txt'))
更多资源
**图片示例:**
```markdown
<center><img src="https://cloud-image.ullrai.com/q/asyncio_concept/" alt="asyncio_concept"/></center>