Asyncio 是 Python 中的一个库,用于编写单线程的并发代码。它使用协程(coroutines)来处理并发,使得在单个线程中能够执行多个任务。
快速开始
安装 asyncio
pip install asyncio
创建一个协程
import asyncio async def hello(): print('Hello, world!') await asyncio.sleep(1) print('Asyncio is awesome!') asyncio.run(hello())
使用
async for
循环async def main(): async for i in range(10): print(i) asyncio.run(main())
高级特性
- 任务(Tasks)
- 事件循环(Event Loop)
- Future 对象
- 锁(Locks)
- 条件(Conditions)
- 信号量(Semaphores)
示例:下载多个 URL
import asyncio
async def download_url(url):
print(f"开始下载 {url}")
await asyncio.sleep(1) # 模拟网络延迟
print(f"下载完成 {url}")
return url
async def main():
urls = [
"https://www.example.com",
"https://www.google.com",
"https://www.bing.com"
]
tasks = [download_url(url) for url in urls]
await asyncio.gather(*tasks)
asyncio.run(main())
扩展阅读
更多关于 asyncio 的信息和示例,请访问我们的 Asyncio 教程。
[center]