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