Python学习之路:红绿灯例子

import time,threading

event = threading.Event()
def lighter():
    count = 0
    event.set()
    while True:
        if count > 5 and count < 10:#改成红灯
            event.clear()#把标志位清了
            print("\033[41;1mred light is on ...\033[0m")
        elif count > 10:
            event.set() #变绿灯
            count = 0
        else:

            print("\033[42;1mgreen light is on ...\033[0m")
        time.sleep(1)
        count += 1

def car(name):
    while True:
        if event.is_set():#代表绿灯
            print("[%s] runing...."%name)
            time.sleep(1)
        else:
            print("[%s] sees red light,wait..."%name)
            event.wait()
            print("\033[34;1m[%s] green light is on,start going")
light = threading.Thread(target = lighter,)
light.start()

car1 = threading.Thread(target = car,args =("Tesla",))
car1.start()
红绿灯

 

posted @ 2018-04-08 16:27  Py小白  阅读(1441)  评论(0编辑  收藏  举报