守护线程
1.守护线程会在“该进程内所有非守护线程全部都运行完毕后,守护线程才会挂掉”
2.主线程在其他非守护线程运行完毕后才算运行完毕(守护线程在此时就被回收)。因为主线程的结束意味着进程的结束,进程整体的资源都将被回收
3.守护线程工作原理:
守护线程一般是一个等待客户请求服务器,如果没有客户提出请求,它就在那里等。如果设定一个线程为守护线程,表示这个线程不重要,在进程退出的时候,不用等待这个线程退出
守护线程示例
只有一个子线程(也是守护线程)
①代码
import threading
import time
def run():
print("%s线程开始..."%threading.current_thread().name)
time.sleep(3)
print("%s线程结束..."%threading.current_thread().name)
if __name__ == '__main__':
print("---主线程开始---")
# 创建一个线程,在start之前设置该线程为守护线程
t = threading.Thread(target=run)
t.setDaemon(True)
t.start()
print("---主线程结束---")
②结果