小编Wei*_*ker的帖子

Python asyncio:如何安排任务?

我是 Python asyncio 的新手,我正在做一些实验。我有以下代码:

async def say_after(n, s):
    await asyncio.sleep(n)
    print(s)

async def main():
    task1 = asyncio.create_task(say_after(2, 'a'))
    task2 = asyncio.create_task(say_after(1, 'b'))
    await task1
    print('x', flush=True)
    await task2
    print('y', flush=True)

asyncio.run(main())
Run Code Online (Sandbox Code Playgroud)

和输出:

b
a
x
y
Run Code Online (Sandbox Code Playgroud)

我不明白这里的顺序。有人可以帮忙解释一下吗?特别是为什么x出现在b和a之后?

python python-asyncio

5
推荐指数
1
解决办法
236
查看次数

标签 统计

python ×1

python-asyncio ×1