Python基础之多线程事件Event
import threading,time class Boss(threading.Thread): def run(self): print("BOSS:伙计们今晚上加班到22:00") event.set() time.sleep(5) #模拟一个小时这段时间 print("BOSS:22:00了可以下班了") event.set() class Worker(threading.Thread): def run(self): event.wait() #等待event为真 此列是等待老板发话 print("woker:命苦啊") time.sleep(1) #模拟工作中 event.clear() #清除Event对象内部的信号标志,即将其设为假,此处等待领导发话 event.wait() #Event对象wait的方法只有在内部信号为真的时候才会很快的执行并完成返回。 print("Woker:OhYeah") if __name__=="__main__": event=threading.Event() threads=[] for i in range(5): threads.append(Worker()) threads.append(Boss()) for t in threads: t.start() for t in threads: t.join()