Ctrl+
C终止主线程,但是因为您的线程不在守护程序模式下,所以它们继续运行,并且使进程保持活动状态。我们可以使它们成为守护进程:
f = FirstThread()f.daemon = Truef.start()s = SecondThread()s.daemon = Trues.start()
但是,还有另一个问题-一旦主线程启动了线程,就无可奈何了。因此它退出了,线程立即被销毁。因此,让主线程保持活动状态:
import timewhile True: time.sleep(1)
现在它将保留打印“ first”和“ second”,直到您按
Ctrl+ 为止
C。
编辑:
正如评论者所指出的,守护进程线程可能没有机会清理临时文件之类的东西。如果需要,请抓住
KeyboardInterrupt主线程并协调其清理和关闭。但是在很多情况下,让守护线程突然死掉可能已经足够了。



