Python多任务编程——进程等待

进程等待目的:

主进程会等待所有的子进程执行完成以后再退出。



目标:

主进程退出同时销毁子进程



解决方法:

1.把子进程设置成为守护主进程,主进程退出子进程直接销毁

通过sub_process.daemon = True实现


import multiprocessing
import time


def task():
    while True:
        print("waiting...")
        time.sleep(1)
        
# 标准python写法,直接执行的模块,需要加上判断是否是主模块的代码
if __name__ == '__main__':
    # 创建子进程
    sub_process = multiprocessing.Process(target=task)
    
    # 把子进程设置成为守护主进程,以后主进程退出子进程直接销毁
    sub_process.daemon = True
    
    sub_process.start()
    # 主进程延时5秒钟
    time.sleep(5)
    print("over")


运行结果:

Python多任务编程——进程等待


2.退出主进程之前,先让子进程进行销毁

sub_process.terminate()


import multiprocessing
import time


def task():
    # for i in range(10):
    while True:
        print("waiting...")
        time.sleep(1)


# 标准python写法,直接执行的模块,需要加上判断是否是主模块的代码
if __name__ == '__main__':

    # 创建子进程
    sub_process = multiprocessing.Process(target=task)
    sub_process.start()

    # 主进程延时10秒钟
    time.sleep(10)
    
    # 退出主进程之前,先让子进程进行销毁
    sub_process.terminate()
    print("over")


运行结果:

Python多任务编程——进程等待

上一篇:Flink CDC 系列 - Flink CDC 如何简化实时数据入湖入仓


下一篇:通俗讲解分布式锁:场景和使用方法