python asyncio教程
时间: 2023-06-21 15:12:02 浏览: 58
Python asyncio (Asynchronous I/O) 是 Python 3.4 之后加入的一种异步编程方式,它提供了一整套的异步 I/O 原语(基于协程),使得编写高效的异步程序变得更加容易。
下面是一个简单的 asyncio 程序示例:
```python
import asyncio
async def hello():
print("Hello")
await asyncio.sleep(1)
print("World")
loop = asyncio.get_event_loop()
loop.run_until_complete(hello())
loop.close()
```
这个程序定义了一个名为 hello 的协程,通过 async 关键字将其标记为异步函数。在协程内部,我们使用了 await asyncio.sleep(1) 来模拟一个阻塞 I/O 操作(这里是等待 1 秒钟),同时让事件循环在这段时间内处理其他任务。
最后,我们通过 asyncio.get_event_loop() 获取事件循环实例,然后通过 loop.run_until_complete(hello()) 来启动程序并执行协程。这里的 run_until_complete 方法会一直运行,直到协程执行完成。
需要注意的是,协程的执行顺序是由事件循环控制的,也就是说,协程中的代码执行到 await 表达式时,事件循环会挂起当前协程,开始执行其他协程或事件处理程序,直到 await 表达式的条件满足时再继续执行当前协程。
除了上述示例中的基础用法,asyncio 还提供了很多高级的功能,比如事件循环、协程调度、任务管理、网络编程、进程池等。如果你想深入学习 asyncio,可以参考官方文档:https://docs.python.org/3/library/asyncio.html。