zoukankan      html  css  js  c++  java
  • python threading之同步条件(Event)

    条件同步和条件变量同步差不多意思,只是少了锁功能.
    event=threading.Event():条件环境对象,初始值 为False;
    event.isSet():返回event的状态值;

    event.wait():如果 event.isSet()==False将阻塞线程;

    event.set(): 设置event的状态值为True,所有阻塞池的线程激活进入就绪状态, 等待操作系统调度;

    event.clear():恢复event的状态值为False。
    import threading,time
    class Boss(threading.Thread):
        def run(self):
            print("BOSS:今晚大家都要加班。")
            event.set()
            time.sleep(5)
            print("BOSS:可以下班了。")
            event.set()
    class Worker(threading.Thread):
        def run(self):
            event.wait()
            print("Worker:哎……命苦啊!")
            time.sleep(0.25)
            event.clear()
            event.wait()
            print("Worker:Yeah!")
    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()
    写出漂亮的博客就是为了以后看着更方便的。
  • 相关阅读:
    异常处理、网络编程
    内置函数、反射、__str__、__del__、元类
    tomcat 拒绝服务
    html标签
    google 与服务器搭建
    liunx centox ssh 配置
    java 泛型
    Windows Mysql安装
    java 空对象
    java 动态代理(类型信息)
  • 原文地址:https://www.cnblogs.com/zhaowei5/p/9314379.html
Copyright © 2011-2022 走看看