我正在编写脚本,我将在其中处理要通过 python 处理的大量数据。
我在 windows box 上使用 python3.8 中的 asyncio 编写了一个脚本,该脚本运行良好,但是当我在 python3.8 上的 unix 上执行相同的脚本时,它完成了执行,但最终没有终止程序。似乎它没有释放资源/锁。
当我进一步调试时,发现在 Windows 上 asyncio 使用 ProactorEventLoop 而在 Unix 上它使用 _UnixSelectorEventLoop,但不确定这是否有任何影响。
我不能分享完整的脚本,但它遵循以下结构:
import asyncio
async def myCoroutine():
print("My Coroutine")
try:
loop = asyncio.get_event_loop()
loop.run_until_complete(myCoroutine())
print("Execution Completed")
finally:
print("Closing the loop")
loop.close()
print("loop Closed")
Output:
Execution Completed
Closing the loop
loop closed
但程序并未终止。
有没有人遇到过类似的问题?任何输入?
提前致谢!!