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