品易云推流 关闭
文章详情页
文章 > Python基础教程 > python守护线程是什么

python守护线程是什么

头像

小妮浅浅

2021-04-08 09:18:053542浏览 · 0收藏 · 0评论

本文教程操作环境: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守护线程的基本介绍,看完文章会发现,有守护线程在的程序,能够使程序从无线循环中退出,大家也来试试这种使用吧。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图