我将使用代码向您展示,当我的计时器结束时,我正试图停止我的 while 循环。有没有办法做到这一点?
from threading import Timer
def run(timeout=30, runs):
timer(timeout)
while runs > 0 or over():
#Do something
print "start looping"
def timer(time):
t = Timer(time, over)
print "timer started"
t.start()
def over():
print "returned false"
return False
如您所见,我正在尝试使用该函数over()
来停止我的 while 循环。目前,当我的时间停止时,over 返回为 false,但它不会影响我的 while 循环。我一定做错了什么。
所以Timer
对象允许我做的是传递一个函数参数,以便当计时器结束时,它调用该函数,over()
. 作为over()
返回False
,它不会实时直接影响 while 循环。我是否需要一个回调来隐式强制它while
为假,或者我的停止方法完全错误并且不起作用。