如何在python中使用threading.Timer执行sys.exit()?

时间:2014-06-09 00:18:36

标签: python-2.7 timer

import threading    
import sys    
from time import time   

def stop():

        print "stop"
        sys.exit()
t = threading.Timer(10, stop)

volts = 22

if volts > 20:

          t.start()    
          print "Start" 

10秒后打印Stop,这很好,但它忽略了sys.exit()。我需要在计时器到期时执行sys.exit。

1 个答案:

答案 0 :(得分:1)

运行时

sys.exit()

在一个线程内部,它会引发SystemExit异常。当您致电thread.exit()时,它会引发相同的异常,因此您只退出线程,而不是您的程序。

但是对于您提供的代码,退出线程也会导致程序完成。