5个线程:t1、t2先关闭,t3在t4与t5之后关闭

将t3设置成守护线程!

# -*- coding:utf-8 -*-
import time
from threading import Thread

def task(name):
    print('%s is running...'%name)
    time.sleep(0.1)
    print('%s is done'%name)

def daemon_task(name):
    while 1:
        print('守护线程%s is running...' % name)


if __name__ == '__main__':
    l12 = []
    l45 = []
    for i in range(1,3):
        t = Thread(target=task,args=('thread-%s'%i,))
        l12.append(t)
        # 记得一定要start
        t.start()
    for i in l12:
        i.join()

    t3 = Thread(target=daemon_task, args=('thread-3',))
    # start之前设置成守护线程
    t3.daemon = True
    t3.start()


    for i in range(4,6):
        t = Thread(target=task,args=('target-%s'%i,))
        l45.append(t)
        t.start()
    for i in l45:
        i.join()

效果如下:

 

posted on 2019-04-21 10:58  江湖乄夜雨  阅读(91)  评论(0编辑  收藏  举报