码迷,mamicode.com
首页 > 编程语言 > 详细

多线程 同步对象 event 简单实例

时间:2018-05-13 23:43:02      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:==   多线程   class   pre   sse   ...   同步   main   color   

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 简单实例

标签:==   多线程   class   pre   sse   ...   同步   main   color   

原文地址:https://www.cnblogs.com/xiaoshi657/p/9033912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!