1,守护线程:守护线程会在主线程结束之后等待其他子线程的结束才结束
拓展--守护进程:守护进程随着主进程代码的执行结束而结束
代码示例:守护线程.py
1 import time 2 from threading import Thread 3 4 def func1(): 5 while True: 6 print('*'*10) 7 time.sleep(1) 8 9 def func2():10 print('in func2')11 time.sleep(5)12 pass13 14 t = Thread(target=func1,)15 #设置t为守护线程16 t.daemon = True #等待主线程结束,守护线程随之结束;主线程不结束,守护进程也不结束。17 t.start()18 t2 = Thread(target=func2,)19 t2.start()20 print('主线程')21 22 #主线程会等待子线程的结束
运行结果:
2,#主进程在执行完自己的代码之后不会立即结束,而是等待子进程结束之后 回收子进程的资源