gpt4 book ai didi

python - 程序意外退出时是否需要关闭异步循环?

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:42 25 4
gpt4 key购买 nike

您可以在下面找到我的 python 脚本的片段。

我有以下问题:

是否需要像下面的示例那样显式地关闭循环?

import asyncio

loop = asyncio.get_event_loop()
loop.run_until_complete(my_async_task())

try:
loop.run_forever()
except KeyboardInterrupt:
print('Stopping...')
finally:
loop.close()

最佳答案

由于程序无论如何都会退出,这将自动将其所有资源释放回操作系统,显式调用 loop.close() 不会有任何好处。 - 它只会让代码变长一点,程序退出的速度稍微变慢。

当在多次调用的代码中创建(并运行)循环时,关闭事件循环是必要的,特别是当它隐藏在可重用的类或函数后面时。未能关闭此类循环会泄漏其内部资源,例如为 call_soon_threadsafe 设置的管道.

请注意,仅当您想要禁止显示通常由解释器提供的堆栈跟踪时,才需要显式捕获 KeyboardInterrupt

关于python - 程序意外退出时是否需要关闭异步循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53965162/

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