温馨提示×

如何根据事件停止毫秒sleep

小樊
93
2024-12-28 23:50:10
栏目: 编程语言

要根据事件停止毫秒sleep,您可以使用线程的join()方法

import threading import time # 自定义事件类 class Event: def __init__(self): self.is_set = False def set(self): self.is_set = True def is_set(self): return self.is_set # 事件监听器类 class EventListener: def __init__(self, event): self.event = event def run(self): while not self.event.is_set(): time.sleep(0.1) # 每0.1秒检查一次事件是否已设置 print("事件已触发") # 主程序 def main(): event = Event() listener = EventListener(event) # 启动监听器线程 listener_thread = threading.Thread(target=listener.run) listener_thread.start() # 模拟执行耗时任务 time.sleep(5) # 设置事件,使监听器停止sleep event.set() # 等待监听器线程结束 listener_thread.join() if __name__ == "__main__": main() 

在这个示例中,我们创建了一个自定义事件类Event和一个事件监听器类EventListener。事件监听器会不断检查事件是否已设置,如果未设置,则继续等待。当事件被设置时,监听器将停止等待并输出提示信息。

0