python学习:多线程模拟红绿灯
1 import threading,time 2 3 4 event=threading.Event() 5 6 7 def lighter(): 8 count=0 9 10 while True: 11 if count <5: 12 event.set() 13 print('green ....') 14 elif count>=5 and count<10: 15 print('red ...') 16 event.clear() 17 else: 18 count=0 19 count+=1 20 time.sleep(1) 21 22 def car(name): 23 24 while True: 25 if event.is_set(): 26 print('%s in running...'%name) 27 time.sleep(1) 28 else: 29 print('%s is wating...'%name) 30 event.wait() 31 32 33 34 35 36 37 l1=threading.Thread(target=lighter,) 38 l1.start() 39 40 for i in range(10): 41 t=threading.Thread(target=car,args=('Tesla '+str(i),)) 42 t.start()