问题描述
我在Python 2.7中遇到了不间断的代码。
java -cp ./target/classes
com.manuel.jordan.Main
-javaagent:pathtotheaspectjweaverjar.jar <-- how a program argument parameter
首先,它为什么不间断? (忽略SIGINT)
在Python 3中,此代码可以正常中断。
其次,在完成循环之前,我应该对其做出什么更改以响应SIGINT?
在我的实际情况下,这是一个无限循环:。(
解决方法
我不确定为什么会发生这种情况,但是Python 3.2错误修复报告中提到了这种现象。
我通过展开以下代码找到了一种解决方法:
def fun():
while True:
... my code ...
sleep(0.1)
if __name__ == '__main__':
threading.Timer(1,fun).start()
进入:
def fun():
... my code ...
threading.Timer(0.1,fun).start()
if __name__ == '__main__':
threading.Timer(1,fun).start()