进程等待目的:
主进程会等待所有的子进程执行完成以后再退出。
目标:
主进程退出同时销毁子进程
解决方法:
1.把子进程设置成为守护主进程,主进程退出子进程直接销毁
【Python多任务编程——进程等待】通过sub_process.daemon = True实现
import multiprocessing
import timedef task():
while True:
print("waiting...")
time.sleep(1)# 标准python写法,直接执行的模块,需要加上判断是否是主模块的代码
if __name__ == '__main__':
# 创建子进程
sub_process = multiprocessing.Process(target=task)# 把子进程设置成为守护主进程,以后主进程退出子进程直接销毁
sub_process.daemon = Truesub_process.start()
# 主进程延时5秒钟
time.sleep(5)
print("over")
运行结果:
文章图片
2.退出主进程之前,先让子进程进行销毁
sub_process.terminate()import multiprocessing
import 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")
运行结果:
文章图片
推荐阅读
- Python多任务编程——多线程的使用
- Python多任务编程——线程之间共享变量
- Python多任务编程——获取进程编号
- Python多任务编程——多进程的使用
- Python多任务编程介绍
- python|我,28岁,汽修转行自学Python,月薪15K,是我这辈子做的最正确的选择
- 深度学习|一文理解深度学习框架中的InstanceNorm
- 人工智能|抢工程师的饭碗(业内人士这样评价AlphaCode | 今夜科技谈)
- 前沿技术|一文轻松掌握深度学习框架中的einsum