Asyncio 是 Python 的一个内置库,用于编写单线程的并发代码。它利用协程(coroutines)和事件循环(event loops)来处理 I/O 操作,从而提高应用程序的效率。

特点

  • 非阻塞 I/O:Asyncio 允许程序在等待 I/O 操作完成时执行其他任务。
  • 协程:协程是轻量级的线程,可以在单个线程中并发执行多个协程。
  • 事件循环:事件循环是异步编程的核心,它负责调度协程和执行非阻塞 I/O。

使用场景

  • 网络编程:Asyncio 可以用于编写高性能的网络应用程序,如 Web 服务器、Web 客户端等。
  • 数据处理:Asyncio 可以用于处理大量数据,例如从数据库读取数据或处理日志文件。

示例

以下是一个使用 asyncio 的 HTTP 服务器示例:

import asyncio

async def handle_request(reader, writer):
    data = await reader.read(100)
    response = b"HTTP/1.0 200 OK\r\n\r\nHello, World!"
    writer.write(response)
    await writer.drain()
    writer.close()

async def run_server():
    server = await asyncio.start_server(handle_request, '127.0.0.1', 8000)
    async with server:
        await server.serve_forever()

asyncio.run(run_server())

扩展阅读

更多关于 asyncio 的信息,请访问我们的 异步编程教程

asyncio