【发布时间】:2021-04-07 07:58:30
【问题描述】:
我正在尝试学习原生协程。 上面的例子我跑了,没看懂。
这是一个例子。
import asyncio
async def say_after(delay, what):
await asyncio.sleep(delay)
print(what)
async def main():
task1 = asyncio.create_task(
say_after(3, "A")
)
task2 = asyncio.create_task(
say_after(2, "B")
)
print("----0")
await task1
print("----1")
await task2
asyncio.run(main())
听说await 等待任务完成。
我希望按顺序打印
A
B
----1
但是,在上面的示例中,----1 在B 和A 都被打印之后输出。
以下是打印的输出。
----0
B
A
----1
为什么要创建这个输出?
你知道有一个网站收集了学习原生协程的有用示例吗?
【问题讨论】:
标签: python async-await python-asyncio