首页 > 编程语言 > 详细

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

时间:2021-01-20 23:17:42      阅读:65      评论:0      收藏:0      [点我收藏+]

 

一、线程的特点

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

 

  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

 

执行结果:

 

技术分享图片

 

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

原文:https://www.cnblogs.com/yujiemeigui/p/14304877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!