タグ

間隔に関するGen2423のブックマーク (1)

  • Pythonで一定間隔で処理をさせる - 鳥の巣箱

    pythonで、例えばある関数を1秒間隔で実行したい時、初心者が一番最初に思いつく方法として def task(): # 何らかの処理 def main(): while True: task() time.sleep(1) といった書き方がある。 この書き方でも”およそ1秒毎”には処理してくれる。 だが、task()の処理時間などにこの間隔は大きく依存してくる。 time.sleep(1)はOSのスケジューラーの精度にもよるけど、ほぼ1秒sleepしてくれるがtask()の実行時間などが考慮されてないわけで。 仮にtask()の実行時間に0.1秒かかるのであれば1.1秒の周期で実行されていることになる。 また、task()の内容が条件によって分岐したりする場合、処理時間が必ず一定ではない場合もある。 そうするともはや一定周期で動作しているとは言えないよね。っていう話です。 システムコール

    Pythonで一定間隔で処理をさせる - 鳥の巣箱
  • 1