多线程 同步对象 event 简单实例
Posted xiaoshi657
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程 同步对象 event 简单实例相关的知识,希望对你有一定的参考价值。
import threading,time class Boss(threading.Thread): def run(self): print("BOSS:今晚大家都要加班到22:00。") print(event.isSet())# False #设置之后 worker才可以往下执行 event.set() time.sleep(5) print("BOSS:<22:00>可以下班了。") print(event.isSet()) event.set() class Worker(threading.Thread): def run(self): #到这里先不往下执行,等到Boss线程 set之后 event.wait()# 一旦event被设定,等同于pass print("Worker:哎……命苦啊!") time.sleep(1) #清空状态,然后在设置,等待boss再次设置 event.clear() event.wait() print("Worker: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() print("ending.....")
以上是关于多线程 同步对象 event 简单实例的主要内容,如果未能解决你的问题,请参考以下文章