Python基础之多线程事件Event

Posted 一起来学python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

  

以上是关于Python基础之多线程事件Event的主要内容,如果未能解决你的问题,请参考以下文章

Python 线程事件 Event

Python学习第24篇:死锁,递归锁,信号量,Event事件,线程Queue

Python3之多线程基础学习

python基础之多线程

python并发编程之多线程基础知识点

python全栈开发基础第二十五篇死锁,递归锁,信号量,Event事件,线程Queue