Asyncio 是 Python 中的一个库,用于编写单线程的并发代码。它使用协程(coroutines)来处理并发,使得在单个线程中能够执行多个任务。

快速开始

  1. 安装 asyncio

    pip install asyncio
    
  2. 创建一个协程

    import asyncio
    
    async def hello():
        print('Hello, world!')
        await asyncio.sleep(1)
        print('Asyncio is awesome!')
    
    asyncio.run(hello())
    
  3. 使用 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]asyncio_programming