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()