过程期待目标:
主过程会期待所有的子过程执行实现当前再退出。
指标:
主过程退出同时销毁子过程
解决办法:
1.把子过程设置成为守护主过程,主过程退出子过程间接销毁
通过sub_process.daemon = True实现
import multiprocessingimport timedef 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")运行后果:
2.退出主过程之前,先让子过程进行销毁
sub_process.terminate()import multiprocessingimport timedef 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")
运行后果: