• Python利用Event类模拟红绿灯


    #利用Event类模拟红绿灯
    import threading
    import time
    
    event = threading.Event()
    
    
    def lighter():
        count = 0
        event.set()     #初始值为绿灯
        while True:
            if 5 < count <=10 :
                event.clear()  # 红灯,清除标志位
                print("33[41;1mred light is on...33[0m")
            elif count > 10:
                event.set()  # 绿灯,设置标志位
                count = 0
            else:
                print("33[42;1mgreen light is on...33[0m")
    
            time.sleep(1)
            count += 1
    
    def car(name):
        while True:
            if event.is_set():      #判断是否设置了标志位
                print("[%s] running..."%name)
                time.sleep(1)
            else:
                print("[%s] sees red light,waiting..."%name)
                event.wait()
                print("[%s] green light is on,start going..."%name)
    
    light = threading.Thread(target=lighter,)
    light.start()
    
    car = threading.Thread(target=car,args=("MINI",))
    car.start()
    

      

    #利用Event类模拟红绿灯
    import threading
    import time

    event = threading.Event()


    def lighter():
    count = 0
    event.set() #初始值为绿灯
    while True:
    if 5 < count <=10 :
    event.clear() # 红灯,清除标志位
    print("33[41;1mred light is on...33[0m")
    elif count > 10:
    event.set() # 绿灯,设置标志位
    count = 0
    else:
    print("33[42;1mgreen light is on...33[0m")

    time.sleep(1)
    count += 1

    def car(name):
    while True:
    if event.is_set(): #判断是否设置了标志位
    print("[%s] running..."%name)
    time.sleep(1)
    else:
    print("[%s] sees red light,waiting..."%name)
    event.wait()
    print("[%s] green light is on,start going..."%name)

    light = threading.Thread(target=lighter,)
    light.start()

    car = threading.Thread(target=car,args=("MINI",))
    car.start()
  • 相关阅读:
    Node中js获取异步操作的结果
    阿里云服务器(一)——Nodejs环境配置
    Nodejs之路(二)—— Nodejs再入门
    通过IDEA制作包含Java应程序的Docker镜像
    IDEA远程调试Tomcat程序
    思维导图_脑图
    gitlab userguide
    如何渲染MARKDOWN与MATHJAX
    markdown emoji表情包
    changing-a-remote-s-url
  • 原文地址:https://www.cnblogs.com/qtnt/p/12489207.html
Copyright © 2020-2023  润新知