0715py:Event管理子进程的阻塞开启

from multiprocessing import Process ,Event
import time

# 设置子函数,作为子进程
def son(arge):
    # arge 接收实例化的Event
    print("我是子进程,我要wait")

    #使用Event的wait()方法,子进程自己阻塞
    arge.wait()

    print("接收到父进程的set,子进程开启")

    # 使用Event的clear()方法进入阻塞
    arge.clear()


# 主函数
def main():

    # 实例化Event
    arge = Event()

    pe = Process(target=son,args=(arge,))

    pe.start()
    time.sleep(5)

    # 采用Event的set()方法开启进程

    # 第一次开启
    print("第一次开启")
    arge.set()
    time.sleep(5)

    # 第二次开启
    print("第二次开启")
    arge.set()
    time.sleep(5)

    # 第三次开启
    print("第三次开启")
    arge.set()
    time.sleep(5)

    # 在父进程中用Event的clear()方法,控制子进程关闭
    arge.clear()
    print("关闭")

    pe.join()


if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/whqwjb/article/details/81051073