Asyncio 是 Python 中用于编写单线程并发代码的库。它提供了使用协程(coroutines)和事件循环(event loops)的高级接口,使得你可以轻松地编写高性能的网络应用。

快速开始

要开始使用 asyncio,你需要导入 asyncio 库,并创建一个协程。

import asyncio

async def main():
    print('Hello, world!')

# 运行协程
asyncio.run(main())

协程(Coroutines)

协程是 asyncio 的核心。它们允许你在程序的不同部分之间切换执行,而不需要使用多线程或多进程。

async def hello_world():
    print('Hello, world!')

async def main():
    await hello_world()

asyncio.run(main())

事件循环(Event Loops)

事件循环是 asyncio 的另一个核心组件。它负责处理协程、I/O 操作和其他系统事件。

import asyncio

async def main():
    loop = asyncio.get_running_loop()
    await loop.run_in_executor(None, expensive_io_function)

asyncio.run(main())

异步网络编程

asyncio 提供了异步网络编程的接口,包括 TCP、UDP、SSL 和 WebSocket。

import asyncio

async def tcp_echo_client(host, port):
    reader, writer = await asyncio.open_connection(host, port)
    print(f'Sent: {data}')
    data = await reader.read(100)
    print(f'Received: {data.decode()}')
    writer.close()
    await writer.wait_closed()

asyncio.run(tcp_echo_client('127.0.0.1', 8888))

更多内容

想要了解更多关于 asyncio 的内容,请访问 Python 官方文档

asyncio 示例