首页 > 编程语言 > 详细

Python基础之多线程事件Event

时间:2017-11-08 11:32:14      阅读:176      评论:0      收藏:0      [点我收藏+]
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()

  

Python基础之多线程事件Event

原文:http://www.cnblogs.com/c-x-a/p/7802855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!