from multiprocessing import Event,Process
from time import sleep
def wait_event():
print("process1也想操作临界区,但是要阻塞等待主进程")
e.wait()
print("主进程操作完了,到我了",e.is_set())#True
def wait_event_timeout():
print("process2也想操作临界区,但是要阻塞等待主进程")
e.wait(2)
# e.wait()
print("我不等了",e.is_set())#false
e = Event()
p1 = Process(name = "block",target = wait_event)
p2 = Process(name = "non-block",target = wait_event_timeout)
p1.start()
p2.start()
print("假设正在忙碌的操作临界资源")
sleep(3)
e.set()
print("主进程操作完了,开放临界区")
p1.join()
p2.join()