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()

私はそれをテストしませんでした。ただし、タイマーに何をさせたいのかわかりません。2 秒後に run を呼び出して、新しいタイマーを再起動しますか?

于 2013-04-02T09:06:03.733 に答える