守护线程

守护线程:

  只要主线程结束,那么子线程立即结束,不管子线程有没有运行完成。

案例:

未加守护线程:下面这段代码:先运行主线程先打印:“Done,运行完成”,然后继续休眠3秒子线程启动打印“哈哈哈”。

import threading,time

def run():
    time.sleep(3)
    print('哈哈哈')

for i in range(5):
    t = threading.Thread(target=run)
    t.start()

print('Done,运行完成。')

结果:

加守护线程:即:只要主线程结束,那么子线程立即结束,不管子线程有没有运行完成

import threading,time

def run():
    time.sleep(3)
    print('哈哈哈')

for i in range(5):
    t = threading.Thread(target=run)
    t.setDaemon(True)  #把子线程设置成为守护线程
    t.start()

print('Done,运行完成。')

结果:只执行了主线程,子线程也跟着结束,没有打印子线程。

 

posted @ 2018-05-29 14:47  我已不爱凯蒂  阅读(109)  评论(0编辑  收藏  举报