0

如何使用 threading.timer 开始-暂停-继续-暂停-继续-暂停?

到目前为止我所做的:=

class Scheduling(threading.Thread):
    def __init__(self):
            self.schedule = None
            threading.Thread.__init__(self)

    def run(self):                                
            self.schedule = threading.Timer(2, self.run).start()

主要是,我有这样的电话:

sched = Scheduling()
sched.start()
4

1 回答 1

0

我写了 def fin(self): self.schedule.cancel() 但它没有停止为什么?

您的 self.schedule 对象不是 threading.Timer 对象。start() 方法实际上不返回任何计时器对象。您需要显式创建计时器。

class Scheduling(threading.Thread):
    def __init__(self):
            self.schedule = None
            threading.Thread.__init__(self)

    def run(self):                                
            self.schedule = threading.Timer(2, self.run)
            self.schedule.start()

    def cancel(self):
            self.schedule.cancel()

我没有测试它。但是,我不确定您希望 Timer 做什么。两秒钟后它会调用 run 来重新启动一个新的计时器?

于 2013-04-02T09:06:03.733 回答