我有这个非常小的测试程序,除了执行asyncio
事件循环之外什么都不做:
import asyncio
asyncio.get_event_loop().run_forever()
当我在 Linux 上运行该程序并按Ctrl+C时,该程序将正确终止并出现KeyboardInterrupt
异常。在 Windows 上按Ctrl+C什么都不做(用 Python 3.4.2 测试)。即使在 Windows 上,一个简单的无限循环也会正确time.sleep()
引发:KeyboardInterrupt
import time
while True:
time.sleep(3600)
为什么 asyncio 的事件循环会抑制 Windows 上的 KeyboardInterrupt?