zoukankan      html  css  js  c++  java
  • 主线程会等待子线程执行结束再结束

    一、线程的特点

      主进程会等待所有子进程执行结束后再结束。

      1、将子线程设置守护主线程:

        子线程对象 = threading.Thread(target=任务, daemon = True)

        子线程对象.setDaemon(True)

    二、示例

      要求:主线程睡一秒后退出程序

      代码1:不设置守护主线程则报错,因为任务是死循环。

      

    from threading import *
    from time import *
    
    
    def task():
        while True:
            print("任务执行中......")
    
    
    if __name__ == "__main__":
    
        t = Thread(target=task)
        t.start()
        
        # 主线程
        sleep(1)
        print("over")
    View Code

      执行结果:报错

      代码2:将子线程设置为守护主线程

      

    from threading import *
    from time import *
    
    
    def task():
        while True:
            print("任务执行中......")
    
    
    if __name__ == "__main__":
    
        t = Thread(target=task, daemon=True)
        t.start()
        
        # 主线程
        sleep(1)
        print("over")
    View Code

    执行结果:

  • 相关阅读:
    2021年1月4号
    2021年1月3号
    2021年1月2日
    2021年1月1日
    Jenkins定时构建与轮询SCM
    2017-08-22校验
    2017-08-21xlVBASplitSheetsSameTime
    20170821xlVBA跨表公式套用
    20170821xlVBA隐藏空行
    20170814xlVBA限定日期按客户分类汇总
  • 原文地址:https://www.cnblogs.com/yujiemeigui/p/14304877.html
Copyright © 2011-2022 走看看