python—threading.Timer【threadingモジュール紹介03】


一、Timer類の基本紹介
このクラスは、アクションが特定の時間後に実行されるべきであることを示します.つまり、タイマです.TimerはThreadのサブクラスなので、関数を使用してカスタムスレッドを作成することもできます.
class threading.Timer(interval,function,args=[],kwargs={})は、interval秒が経過すると、パラメータargsとキーワードパラメータkwargsでfunctionを実行するtimerを作成します.
二、簡単な例
# coding: utf-8
from threading import Timer


def fun():
    print "hello, world"

if __name__=='__main__':
    t = Timer(5.0, fun)
    t.start() # 5  , "hello, world"    

三、スレッド実行を取り消す
Timersは、それらのstart()メソッドを呼び出してスレッドとして起動します.timerは、cancel()メソッドを呼び出すことによって(その動作が開始される前に)停止することができる.timerがその動作を実行する前に待つ時間間隔は、ユーザが指定した時間間隔とは完全に異なる場合がある.
  • cancel()はtimerを停止し、timer動作の実行をキャンセルする.これはtimerがまだ待機段階にある場合にのみ動作します.
  • # coding: utf-8
    from threading import Timer
    
    def fun():
        print "hello, world"
    
    if __name__=='__main__':
        t = Timer(5.0, fun)
        t.start() #       ,      "hello, world"
        t.cancel() #   cancel        ,  fun()