import threading class ThreadManager: """ Manages multiple threads used to execute given handler tasks. """ def __init__(self, handlers): self.handlers = handlers self.threads = [] def start(self): for handler in self.handlers: thread = threading.Thread(target=handler.run) self.threads.append(thread) thread.start() def stop(self): for handler in self.handlers: handler.stop_event.set() for thread in self.threads: thread.join()