asyncio.run( asyncio.wait(task_list))
时间: 2024-08-15 10:09:40 浏览: 49
python多线程抽象编程模型详解
`asyncio.run()` 是 Python 3.7 及更高版本中用于运行异步任务的一个便捷入口点。它接受一个协程(coroutine)作为参数,通常这个协程会使用 `asyncio.create_task()` 或 `asyncio.gather()` 来启动其他子任务。
当你调用 `asyncio.run()` 并传入一个协程时,它会在事件循环中执行该协程及其依赖的任务,直到整个程序完成。下面是一个简单的示例,展示如何使用 `asyncio.run()` 运行包含子任务的协程:
```python
import asyncio
# 假设 task_list 包含一些 async 函数
task_list = [
asyncio.create_task(some_async_function()),
asyncio.create_task(another_async_function())
]
# 使用 asyncio.run() 运行任务
async def main():
await asyncio.wait(task_list)
asyncio.run(main())
```
在这个例子中,`await asyncio.wait(task_list)` 会阻塞当前协程,直到所有子任务完成。如果某个任务抛出了异常,`asyncio.run()` 会捕获并终止整个程序。
阅读全文