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()
效果如下: