zoukankan      html  css  js  c++  java
  • 【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种方式】

    【加群交流】



  • 相关阅读:
    Android开发学习总结(一)——搭建最新版本的Android开发环境
    数据库服务器编码,数据库编码,数据库表编码,数据库表字段编码
    webservice(二)简单实例
    webservice(一) 概念
    JAVA的StringBuffer类
    Log4J日志配置详解
    如何配置使用 Log4j
    使用MyBatis Generator自动创建代码
    Spring MVC POST中文乱码解决方案
    JSP开发中对jstl的引用方式(标签库引用)
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/13619547.html
Copyright © 2011-2022 走看看