Python并发编程-事件

事件用来控制多个进程同时执行或者阻塞

  • set和clear
    • 分别用来修改一个事件的状态,True或者False
  • is_set 用来查看一个事件的状态
  • wait 是依据事件的状态来决定自己是否在wait处阻塞
    • False阻塞, True不阻塞
from multiprocessing import Event
#一个信号可以使得所有的进程都进入阻塞状态
#也可以控制所有的进程解除阻塞
#一个事件被创建之后, 默认是阻塞状态
e = Event() #创建了一个事件
print(e.is_set()) #查看一个事件的状态,默认被设置成阻塞
print(12345)
e.set() #将这个事件的状态改为True,即不阻塞
e.wait() #依据e.is_set()的值来决定是否阻塞
print(12345)
e.clear() #将这个事件的状态改为False
print(e.is_set())
e.set()
e.wait()  #有条件的等待,等待这个事件的信号变成True
print('*'* 10)
print(e.is_set())
e.clear() #将这个事件的状态改为False,但是并没有wait()将其阻塞,故下面的代码还是可以打印
print('*'* 10)

猜你喜欢

转载自www.cnblogs.com/konglinqingfeng/p/9691120.html