python线程之event事件

from threading import Thread, Event
import time

event = Event()


def light():
    print('红灯亮着,所有车都要等待')
    time.sleep(3)
    print('绿灯亮了,可以出发')
    event.set()     # 定义一个事件,当所有线程遇到event.wait的时候都会等待这个事件,直到这个事件运行完了,event.wait才能继续运行


def car(name):
    print(f'{name}正在等红灯')
    event.wait()    # 定义一个event.wait事件,等event.set运行完了才会继续运行
    print(f'{name}可以出发了!!')


t = Thread(target=light)
t.start()   # 运行event.set事件的函数
for i in range(5):
    t = Thread(target=car, args=(f'汽车{i}',))
    t.start()
posted @ 2022-12-27 10:05  树苗叶子  阅读(123)  评论(0)    收藏  举报