/ Snake / timer.py
timer.py
 1  import time
 2  from threading import Thread
 3  from typing import Callable
 4  
 5  
 6  class Timer(Thread):
 7      def __init__(self, interval: float, func: Callable):
 8          super().__init__()
 9  
10          self.interval: float = interval
11          self.func: Callable = func
12          self.running: bool = False
13  
14      def run(self):
15          self.running: bool = True
16          time.sleep(self.interval)
17          while self.running:
18              self.func()
19              time.sleep(self.interval)
20  
21      def stop(self):
22          self.running: bool = False