Skip to content

协程的简单使用

协程是子例程的更一般形式。子例程可以在某一点进入并在另一点退出。协程则可以在许多不同的点上进入、退出和恢复。
协程可通过 async def 语句来实现。通过 async/await 语法来声明协程是编写异步应用的推荐方式。
https://docs.python.org/zh-cn/3/library/asyncio-task.html

1. 代码示例

python
import asyncio


async def test(_id):
    print(f'当前{_id}')
    await asyncio.sleep(1)


async def main():
    aws = []  # 存储可等待对象
    for _id in range(10):
        aws.append(test(_id))

    await asyncio.gather(*aws)  # 并发运行

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

运行结果可发现总体仅耗时1秒,而不是10秒