本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、说明
如果有一个线程必须设置为循环,那么该线程不结束,意味着整个python程序就不能结束,那为了能够让python程序正常退出,将这类循环的线程设置为守护线程,当程序当中仅仅剩下守护线程时,python程序就能够正常退出,不必关心这类线程是否执行完毕。
2、作用
守护线程作用是为其他线程提供便利服务,守护线程最典型的应用就是 GC (垃圾收集器)。
3、使用注意
(1)守护线程会在“该进程内所有非守护线程全部都运行完毕后,守护线程才会挂掉”
(2)主线程在其他非守护线程运行完毕后才算运行完毕(守护线程在此时就被回收)。因为主线程的结束意味着进程的结束,进程整体的资源都将被回收
4、实例
import time import threading def fun(): print("start fun") time.sleep(2) print("end fun") def main(): print("main thread") t1 = threading.Thread(target=fun,args=()) t1.setDaemon(True) t1.start() time.sleep(1) print("main thread end") if __name__ == '__main__': main()
我们在对线程进行运行时,如果其中的子线程不结束,会导致整个程序不能停止。但如果在其中加入了守护线程就不一样了,从名称就可以看出是保护整个线程的,所以程序可以放心的退出了。
以上就是python守护线程的基本介绍,看完文章会发现,有守护线程在的程序,能够使程序从无线循环中退出,大家也来试试这种使用吧。