Windows和Unix之间的Python3.8异步IO行为差异

Windows和Unix之间的Python3.8异步IO行为差异,unix,python-asyncio,python-3.8,Unix,Python Asyncio,Python 3.8,我正在编写一个脚本,在这个脚本中,我将通过python处理大量数据 我已经在windows box上的python3.8中使用asyncio编写了一个脚本,它工作得非常好,但是当我在python3.8上的unix上执行相同的脚本时,它将完成执行,但不会在最后终止程序。似乎它没有释放资源/锁 当我进一步调试时,发现asyncio在windows上使用ProactorEventLoop,而在Unix上使用UnixSelectorEventLoop,但不确定这是否会产生任何影响 我无法分享完整的脚本,

我正在编写一个脚本,在这个脚本中,我将通过python处理大量数据

我已经在windows box上的python3.8中使用asyncio编写了一个脚本,它工作得非常好,但是当我在python3.8上的unix上执行相同的脚本时,它将完成执行,但不会在最后终止程序。似乎它没有释放资源/锁

当我进一步调试时,发现asyncio在windows上使用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
但程序并没有终止

以前有没有人遇到过类似的问题?有什么意见吗


提前谢谢

我在Ubuntu20.10上试过你的代码,结果如下:在Windows10上,结果是一样的。。。为什么要试用python版本?对我来说,它在windows上运行良好,但在Linux上,该程序并没有在windows和ubuntu上终止3.8.5。