主要实现红灯停,绿灯行的问题:python3代码如下:
import threading,time
e = threading.Event()
def light():
count = 0
if not e.isSet():
e.set()
while True:
if count>5 and count<= 10:
print("red light,stop the car")
e.clear()
time.sleep(5)
print("5秒钟已过")
count=0
else:
e.set()
print('green light,you can running')
time.sleep(1)
count += 1
def car(name):
while True:
if e.isSet():
print("%s start running"%name)
time.sleep(1)
else:
print("%s sees red light"%name)
e.wait()
print('YOU CAN GO WITH GREEN LIGHT')
if __name__ == "__main__":
l1 = threading.Thread(target=light,args=())
l1.start()
c = threading.Thread(target=car,args=("Audi",))
c.start()
因为红绿灯控制的时候设置的是大于5到小于10,中间睡5秒钟,所以此时light方法中到红灯的时候在这里sleep5秒