Class A:
def get_data(self,arg1):
........
def test(self):
self.timer = threading.Timer(1,self.get_data, args=(arg1,))
self.timer.start()
......
self.timer.cancel()
尝试调用get_data()时,每隔一秒就调用一次。
代码的其他部分正在执行。没有sytax或缩进错误
观察到。请告诉我这里丢失的东西。
答案 0 :(得分:1)
那是因为threading.Timer
只调用一次目标函数(如下所示:https://docs.python.org/2/library/threading.html#timer-objects)。
你真正想做的是创建一个threading.Thread
实例,其目标是一个带有无限循环的函数,调用get_data
并休眠1秒。
并且您希望在达到某个条件时停止该循环 - 例如将running
标志设置为False
。这样,一旦你不再需要它就可以停止循环。