zoukankan      html  css  js  c++  java
  • 【Python高级编程006 ● 多任务编程 ● 不等待子进程执行结束,主进程提前销毁的方式】


    ---------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.daemon = True
    
        # 启动子进程执行对应的任务
        sub_process.start()
    
        # 主进程延时0.3秒
        time.sleep(0.3)
    
        # 方式二, 主进程结束前,让子进程销毁
        sub_process.terminate()
        print("主线程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单例模式中的4种方式
    Python list,tuple,dict,set高级变量常用方法
    python如何获取多个excel单元格的值
    两种方法实现python操作日志的封装
    numpy中函数shape的用法
    python中timer定时器常用的两种实现方法
    详解Python中argpasrse模块的基本使用
    在python中列表删除和多重循环退出
    Python的驻留机制(仅对数字,字母,下划线有效)
    python实现tail -f 功能
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/13604007.html
Copyright © 2011-2022 走看看