本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
1、说明
如果有一个线程必须设置为循环,那么线程没有结束,这意味着整个python程序无法结束。为了使python程序正常退出,将此类循环线程设置为保护线程。当程序中只剩下保护线程时,python程序可以正常退出,无需担心此类线程是否已完成。
2、作用
守护线程的作用是为其他线程提供方便的服务。守护线程最典型的应用是 GC (垃圾收集器)。
3、使用注意
(1)守护线程将在那里“这个过程中所有的非守护线程都运行完毕后,守护线程就会挂断”
(2)主线程只有在其他非保护线程完成后才能完成(此时保护线程将被回收)。因为主线程的结束意味着过程的结束,整个过程的资源将被回收利用
4、实例
importtime importthreading deffun(): print("startfun") time.sleep(2) print("endfun") defmain(): print("mainthread") t1=threading.Thread(target=fun,args=()) t1.setDaemon(True) t1.start() time.sleep(1) print("mainthreadend") if__name__='__main__': main()
当我们运行线程时,如果子线程没有结束,整个程序将无法停止。但是,如果添加了保护线程,则不同。从名称可以看出,它保护了整个线程,因此程序可以放心退出。
以上就是python守护线程的基本介绍。看完文章,你会发现有守护线程的程序可以让程序从无线循环中退出。让我们试试这个用法。