pythonポーリングは、関数の2つの方法を実行します。


ターゲット:pythonでは、特定の時間ごとに関数を実行します。
方法1:pythonのThread類のサブクラスTimerを使用して、このサブクラスは指定関数を制御して、特定の時間後に一回実行します。
したがって、複数のタイミングである関数を実行するためには、一つのwhileサイクルの中で何度もTimerを新規作成するだけでよい。

from threading import Timer
import time
 
def printHello():
 print ("Hello")
 print("      ", time.time())
 
def loop_func(func, second):
 #  second   func  
 while True:
  timer = Timer(second, func)
  timer.start()
  timer.join()
 
loop_func(printHello, 1)
運転結果は以下の通りです。

Hello
       1569224253.1897497
Hello
       1569224254.1911764
Hello
       1569224255.1924803
Hello
       1569224256.1957717
Hello
       1569224257.1964536
……
方法2:timeモジュールのsleep関数を使ってプログラムをブロックして実行できます。

import time
 
def printHello():
 print ("Hello")
 print("      ", time.time())
 
def loop_func(func, second):
 #   second   func  
 while True:
  func()
  time.sleep(second)
 
loop_func(printHello, 1)
運転結果は以下の通りです。

Hello
       1569224698.5843027
Hello
       1569224699.5843854
Hello
       1569224700.5870178
Hello
       1569224701.5881224
Hello
       1569224702.588771
Hello
       1569224703.5896
Hello
       1569224704.5902
……
まとめ:感じ方2はもっと資源を節約します。同じようにwhileサイクルを使っていますので、方法2は余分なスレッドを生成していません。しかし、方法1は多くのスレッドを生成します。
以上のpythonポーリングはある関数の2つの方法を実行します。つまり、小編集は皆さんに全部の内容を共有します。参考にしてもらいたいです。どうぞよろしくお願いします。