python线程的事件用于主线程控制其余线程的执行,事件主要提供了三个方法 set、wait、clear。 事件处理的机制:全局定义了一个“Flag”,若是“Flag”值为 False,那么当程序执行 event.wait 方法时就会阻塞,若是“Flag”值为True,那么event.wait 方法时便再也不阻塞。 clear:将“Flag”设置为False set:将“Flag”设置为True
# coding:utf-8 from multiprocessing import Event e = Event() # 建立一个事件对象 print(e.is_set()) # is_set()查看一个事件的状态,默认为False, 可经过set方法改成True print("look here!") e.set() # 将is_set()的状态改成True. print(e.is_set()) # True # e.clear() # 将is_set()的状态改成False # print(e.is_set()) e.wait() # 根据is_set()的状态结果来决定是否在这阻塞住, is_set()=False那么就堵塞,is_set()=True就不阻塞 print('give me!!') # set和clear 修改事件的状态 set-->True clear-->False # is_set 用来查看一个事件的状态 # wait 依据事件的状态来决定是否阻塞 False-->阻塞 True-->不阻塞