【Python高级编程005 ● 多任务编程 ● 主进程会等待所有的子进程执行完以后再退出】

python


---------Python基础编程---------

Author : AI菌


【内容讲解】

1、主进程会等所有的子进程执行完成以后在退出

为了保证子进程能够正常的运行,主进程会等所有的子进程执行完成以后再销毁

2、子进程还有没执行结束,怎么结束主进程?

方法一:

提前销毁子进程方式:子进程对象.terminate()

方法二:

设置守护主进程方式: 子进程对象.daemon = True

设置守护主进程的目的是主进程退出前销毁子进程,不让主进程再等待子进程去执行。

【代码演示】

"""

1、主进程会等所有的子进程执行完成以后在退出

为了保证子进程能够正常的运行,主进程会等所有的子进程执行完成以后再销毁

2、子进程还有没执行结束,怎么结束主进程?

方法一:

提前销毁子进程方式:子进程对象.terminate()

方法二:

设置守护主进程方式: 子进程对象.daemon = True

设置守护主进程的目的是主进程退出前销毁子进程,不让主进程再等待子进程去执行。

"""

import multiprocessing

import time

# 现在创建一个子进程,这个子进程执行完大概需要0.6秒钟,现在让主进程执行0.3秒钟就退出程序

# 看看主进程是直接退出,还是等子线程执行完再退出

def task():

for i in range(3):

print("正在工作中。。。")

time.sleep(0.2)

if __name__ == '__main__':

# 创建子进程

sub_process = multiprocessing.Process(target=task)

# 启动子进程执行对应的任务

sub_process.start()

# 主进程延时0.3秒

time.sleep(0.3)

print("主线程over了!!!")

【运行结果】

正在工作中。。。

正在工作中。。。

主线程over了!!!

正在工作中。。。

【结果说明】

主线程打印了“主线程over了”,子线程还没有结束,继续答应了正在工作中

说明主线程并未真正结束,而是等子线程执行完以后才结束。

【往期精彩】

▷【Python基础编程196 ● 读取文件的4种方式】
▷【Python基础编程197 ● 读取文件的4种方式】
▷【Python基础编程198 ● 读取文件的4种方式】
▷【Python基础编程199 ● Python怎么读/写很大的文件】
▷【Python基础编程200 ● 读取文件的4种方式】
▷【Python基础编程201 ● 读取文件的4种方式】
▷【Python基础编程202 ● 读取文件的4种方式】
▷【Python基础编程203 ● 读取文件的4种方式】

【加群交流】



以上是 【Python高级编程005 ● 多任务编程 ● 主进程会等待所有的子进程执行完以后再退出】 的全部内容, 来源链接: utcz.com/z/388122.html

回到顶部