gpt4 book ai didi

python - 什么时候应该使用任务而不是协程?

转载 作者:太空狗 更新时间:2023-10-29 18:12:46 27 4
gpt4 key购买 nike

任何人都可以提供有关如何在 python asyncio 模块的任务和协程之间进行选择的实用建议吗?

如果我要异步实现某事,我可以做下面两个中的任何一个 -

import asyncio

@asyncio.coroutine
def print_hello():
print('Hello')

loop = asycio.get_event_loop()
loop.run_until_complete(print_hello)
loop.close()

import asyncio

@asyncio.coroutine
def print_hello():
print('Hello')

print_task = asyncio.ensure_future(print_hello)

loop = asycio.get_event_loop()
loop.run_until_complete(asyncio.wait_for(print_task))
loop.close()

是什么因素决定了选择以上2种方法中的哪一种?

最佳答案

“通常,当您想使用 yield from 将协程直接耦合到调用父协程时,您会使用协程。这种耦合驱动子协程并强制父协程在继续之前等待子协程返回. 另一方面,任务不必由父协程驱动,因为它可以驱动自己。” - shongololo

(请不要在评论里回复)

关于python - 什么时候应该使用任务而不是协程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31904944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com