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-->不阻塞