1,事件的方法:
#set和clear
#分别用来修改一个事件的状态 True或者False
#is_set用来查看一个事件的状态
#wait 是依据事件的状态来决定自己是否阻塞
# False最 True不阻塞
2,事件的创建和事件的方法示例:
1 #通过一个信号 来控制 多个进程 同时 执行或者阻塞 2 #事件 3 from multiprocessing import Event 4 #一个信号可以使所有的进程都进入阻塞状态 5 #也可以控制所有的进程解除阻塞 6 #一个事件被创建之后,默认是阻塞状态 7 e = Event() #创建了一个事件 8 print(e.is_set()) #查看一个事件的状态,默认被设置成阻塞 9 e.set() #将这个事情的状态改为True 10 print(e.is_set()) 11 e.wait() #是依据e.is_set()的值来决定是阻塞的 12 print(123456) 13 e.clear() #将这个事件的状态改为False 14 print(e.is_set()) 15 e.wait() 16 print('*'*10)
3,红绿灯事件模型例子
1 import time 2 import random 3 4 from multiprocessing import Event,Process 5 def cars(e,i): 6 if not e.is_set(): 7 print('car%i在等待' % i) 8 e.wait() #阻塞 直到得到一个 事件状态变成True 的信号 9 print('