对Corutine工作流程的理解

时间:2019-08-20 19:28:40

标签: python python-3.x python-asyncio

在事件循环(https://docs.python.org/3.6/library/asyncio-task.html#coroutines)中的corutine的工作流程中

我找到了一个描述以下代码的图,但是从睡眠直接到任务的方向向左箭头让我感到困惑。为什么睡眠直接返回任务?

import asyncio

async def compute(x, y):
    print("Compute %s + %s ..." % (x, y))
    await asyncio.sleep(1.0)
    return x + y

async def print_sum(x, y):
    result = await compute(x, y)
    print("%s + %s = %s" % (x, y, result))

loop = asyncio.get_event_loop()
loop.run_until_complete(print_sum(1, 2))
loop.close()

该图如下所示: enter image description here

我想知道为什么睡眠可以直接返回任务,甚至返回循环并再次返回返回值(“ return 1 + 2”)。

0 个答案:

没有答案