27 lines
621 B
Python
27 lines
621 B
Python
import threading
|
|
|
|
|
|
class Scheduler:
|
|
def __init__(self, interval, function):
|
|
self.interval = interval
|
|
self.function = function
|
|
self.stop_event = threading.Event()
|
|
|
|
def run(self):
|
|
while not self.stop_event.wait(self.interval):
|
|
self.function()
|
|
|
|
def stop(self):
|
|
self.stop_event.set()
|
|
|
|
|
|
class ThreadManager:
|
|
def __init__(self, target, args: tuple = ()) -> None:
|
|
self.target = target
|
|
self.args = args
|
|
|
|
def run(self):
|
|
thread = threading.Thread(target=self.target, args=self.args)
|
|
thread.daemon = True
|
|
thread.start()
|