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()

  

posted @ 2017-11-08 10:42  公众号python学习开发  阅读(239)  评论(0编辑  收藏  举报