在执行函数时打破threading.Timer

时间:2014-09-26 02:06:45

标签: python multithreading timer

我在Python中设置了一个计时器,比方说,20秒,但如果调用另一个函数,那么计时器就会中断。

有没有办法使用Python的threading.Timer执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以在应该中断它的函数体中调用timer.cancel()

def some_func():
   print "Some function that runs after a timeout"


def interrupt_func():
   timer.cancel()  # some_func will no longer be called
   # other stuff

timer = threading.Timer(20, some_func)
time.sleep(10)
interrupt_func()