python守护线程是什么

本文教程操作环境: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()

我们在对线程进行运行时,如果其中的子线程不结束,会导致整个程序不能停止。但如果在其中加入了守护线程就不一样了,从名称就可以看出是保护整个线程的,所以程序可以放心的退出了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。