主线程会等待子线程执行结束再结束

 

一、线程的特点

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

 

  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

 

执行结果:

 

 

posted @ 2021-01-20 20:31  御姐玫瑰  阅读(900)  评论(0编辑  收藏  举报
levels of contents