没什么好多说的,字面意思,wait等待,set发出开启信号。
from multiprocessing import Process,Event
#from threading import Event
import time
def stu(name):
print('%s 上课中' % name)
event.wait() # 参数为超时等待的时间 秒为单位
print('%s 课件活动中' % name)
def teacher(name):
print('%s 正在上课 \n' % name)
time.sleep(3)
print('\n同学们下课了\n')
event.set()
if __name__ == '__main__':
event = Event()
stu1 = Process(target=stu, args=('张三',))
stu2 = Process(target=stu, args=('李四',))
tea = Process(target=teacher, args=('胡老师',))
tea.start()
stu1.start()
stu2.start()
stu1.join()
stu2.join()
>>> 胡老师 正在上课
>>> 张三 上课中
>>> 李四 上课中
>>> 同学们下课了
>>> 张三 课件活动中
>>> 李四 课件活动中