gpt4 book ai didi

python - python asycio协程可以有没有等待的代码路径吗?

转载 作者:行者123 更新时间:2023-12-04 10:45:48 26 4
gpt4 key购买 nike

具有不包含 await 语句的代码路径的协程是否有任何问题或副作用?

考虑以下示例,其中将回调作为参数提供给协程,但该回调可能是常规函数或协程:

import asyncio
import inspect

async def foo(mycallback):
if inspect.iscoroutinefunction(mycallback):
await mycallback()
else:
mycallback()
...

在 python 控制台中尝试简单示例似乎表明没有问题,但想知道是否可能出现更微妙的问题。

最佳答案

如果你不等待,那么你就会阻塞其他应该运行的代码,因为异步是关于共享资源的。因此,如果常规代码运行得很快,这不是什么大问题,但如果它可能很慢,它就会阻塞一切。

在常规代码中,异步的替代方案是基于线程的编程。在这里,当感觉运行其他线程时,Python 会中断您的代码,因此阻塞问题较少。

关于python - python asycio协程可以有没有等待的代码路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59716956/

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