本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、工作原理
守护线程一般是一个等待客户请求服务器,如果没有客户提出请求,它就在那里等。如果设定一个线程为守护线程,表示这个线程不重要,在进程退出的时候,不用等待这个线程退出。
2、创建实例
创建线程的时候可以指定线程组,线程名(默认为 Thread-N),是否守护线程(daemon)。在线程初始化也可以修线程名和 daemon 属性。
创建线程的daemon 默认为 False,这与 Java new Thread() 创建的线程是一样的,也就是说子线程没退出的话程序运行也不会结束。这与 Java 线程的行为是一样的。
import time import atexit import threading def play_music(): for i in range(3): print(threading.current_thread().name, i) time.sleep(1) atexit.register(lambda: print("program exit")) print("main start") thread = threading.Thread(target=play_music) thread.start() print("subthread started") import time import atexit import threading def play_music(): for i in range(3): print(threading.current_thread().name, i) time.sleep(1) atexit.register(lambda: print("program exit")) print("main start") thread = threading.Thread(target=play_music) thread.start() print("subthread started")
在我们了解了守护线程后,很多人对这种能够自动退出程序的线程非常感兴趣,使用这类线程能够让程序的退出变得灵活。
以上就是python守护线程的创建方法,大家在对基础的守护线程内容有所掌握后,可以根据代码示例方法,进行守护线程的创建啦。