from threading import Thread, Event from Utils.LogManager import LogManager from script.ScriptManager import ScriptManager class ThreadManager(): threads = {} @classmethod def add(cls, udid, t: Thread, stopEvent: Event): if udid in cls.threads: print("▲ 线程已存在") return cls.threads[udid] = {"thread": t, "stopEvent": stopEvent} @classmethod def stop(cls, udid): print(cls.threads) info = cls.threads[udid] if info: info["stopEvent"].set() # 停止线程 info["thread"].join(timeout=3) # 等待线程退出 del cls.threads[udid] LogManager.info("停止线程成功", udid) else: LogManager.info("无此线程,无需关闭", udid)