类似于Javascript的setInterval / clearInterval for Python

时间:2014-03-18 05:43:53

标签: javascript python multithreading python-3.x

我正在尝试在python中创建一个类似JavaScript的setInterval函数,但我现在对如何创建类似的clearInterval感到难过。

 def setInterval(func, sec):
     def inner_function():
         func() # call on it
         setInterval(func, sec) # do the same function over and over again
     thread = threading.Timer(sec, inner_function) # have it call inner ever x seconds
     thread.setDaemon(True) 
     thread.start()
     return thread

def clearInterval(interval):
    interval.cancel()
    return True

所以起初我认为这应该有用

interval = setInterval(lambda: print("Hello, World!"), 3) # prints 'Hello, World!' every three seconds.
# some time later
clearInterval(interval)

虽然尝试清除间隔不起作用。它创建了一个不断执行func

的克隆线程

有没有办法在python中重启线程?如果没有办法让任何人知道如何做到这一点,只有它实际上能够使用clearInterval并且它将完全停止?

0 个答案:

没有答案
相关问题