• 【Python高级编程011 ● 多任务编程 ● 不等待子线程执行结束,主线程提前销毁的方式 】



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

    Author : AI菌


    【内容讲解】

    一、问题提出:假如我们就让主线程执行1秒钟,子线程就销毁不再执行,那怎么办呢?
            我们可以设置守护主线程,守护主线程就是主线程退出子线程销毁不再执行。
    二、设置守护主线程有两种方式:
        1、threading.Thread(target=show_info, daemon=True)
        2、线程对象.setDaemon(True)

    【代码演示】

    """
    一、问题提出:假如我们就让主线程执行1秒钟,子线程就销毁不再执行,那怎么办呢?
            我们可以设置守护主线程,守护主线程就是主线程退出子线程销毁不再执行。
    二、设置守护主线程有两种方式:
        1、threading.Thread(target=show_info, daemon=True)
        2、线程对象.setDaemon(True)
    """
    
    # 创建一个子线程,这个子线程执行完大概需要2.5秒钟,现在让主线程执行1秒钟就退出程序
    # 我们可以设置守护主线程,守护主线程就是主线程退出子线程销毁不再执行
    
    import threading
    import time
    
    
    def task():
        for i in range(10):
            print("任务执行中。。。")
            time.sleep(0.3)
    
    
    if __name__ == '__main__':
        # 创建子线程
        # 1. daemon=True 表示守护主线程,主线程退出子线程销毁
        # sub_thread = threading.Thread(target=task,daemon=True)
    
        # 2.setDaemon(True)表示守护主线程
        sub_thread = threading.Thread(target=task)
        sub_thread.setDaemon(True)
    
        # 启动子线程执行任务
        sub_thread.start()
    
        time.sleep(1)
        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种方式】

    【加群交流】



  • 相关阅读:
    爱情三十七课,恩情仪式
    爱情三十二课,幽默的用法
    爱情四十二课,距离就是问题
    爱情二十八课,你为什么爱
    爱情三十四课,放手的时机
    爱情三十九课,爱的礼物
    爱情三十三课,读懂愤怒
    爱情三十一课,先信自己
    爱情三十课,爱情整理术
    爱情二十四课,妥协50分
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/13619547.html
Copyright © 2020-2023  润新知