python3 进程事件Event

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

 

posted on 2019-06-06 16:56  lilyxiaoyy  阅读(1418)  评论(0编辑  收藏  举报

返回
顶部