我正在使用此代码每3秒调用一次函数doSomething
。但我希望在numeroPeticiones== 3
时停止这样做。我找了很多例子,但都没有用。就我而言,即使满足numeroPeticiones== 3
的条件,我的函数仍将继续从外部执行。我该如何解决?
import threading
from threading import Timer
numeroPeticiones=0
def doSomething():
global numeroPeticiones
numeroPeticiones=numeroPeticiones+1
print ("hello, world",numeroPeticiones)
if numeroPeticiones == 3:
print("cancel")
t.cancel()
def set_interval(func, sec):
def func_wrapper():
set_interval(func, sec)
func()
t = threading.Timer(sec, func_wrapper)
t.start()
return t
答案 0 :(得分:1)
您可以执行以下操作,如果num等于3,它将无法启动计时器
from threading import Timer
num = 0
def hello():
global num
num += 1
print("hello, world")
if (num < 3):
Timer(3, hello).start()
Timer(3, hello).start()