经过判断某个线程的状态来肯定本身下一步的操做python
若是有线程等待一个Event对象, 而这个Event对象的标志为假,那么这个线程将会被一直阻塞直至该标志为真。一个线程若是将一个Event对象的信号标志设置为真,它将唤醒全部等待这个Event对象的线程。若是一个线程等待一个已经被设置为真的Event对象,那么它将忽略这个事件, 继续执行操作系统
event.isSet():返回event的状态值;线程
event.wait():若是 event.isSet()==False将阻塞线程;code
event.set(): 设置event的状态值为True,全部阻塞池的线程激活进入就绪状态, 等待操做系统调度;对象
event.clear():恢复event的状态值为False。事件
from threading import Event,Thread import time # 先生成一个event对象 e = Event() def light(): print('红灯正亮着') time.sleep(3) e.set() # 发信号 print(e.isSet()) # e.clear() # print(e.isSet()) print('绿灯亮了') # print(e.set()) def car(name): print('%s正在等红灯'%name) e.wait() # 等待信号 # print(e.isSet()) e.clear() print(e.isSet()) print('%s加油门飙车了'%name) t = Thread(target=light) t.start() for i in range(10): t = Thread(target=car,args=('伞兵%s'%i,)) t.start()