Python 的 asyncio 库是一个用于编写单线程并发代码的库,使用事件循环来处理并发。这使得它在处理 I/O 密集型任务时特别有用。

特点

  • 异步编程:通过协程(coroutines)实现,使得代码可以同时进行多个操作。
  • 事件循环:管理所有事件,包括 I/O 事件、定时器等。
  • 高并发:通过非阻塞的方式提高应用程序的并发性能。

示例

以下是一个简单的 asyncio 示例,展示如何使用协程来发送 HTTP 请求:

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)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

更多关于 asyncio 的使用,可以参考Python asyncio 官方文档

图片

Python asyncio 示例

asyncio_example

Python 事件循环

python_event_loop