更新時間:2023-03-03 來源:黑馬程序員 瀏覽量:
在Python中,守護線程是指在程序運行時在后臺運行的線程,當主線程結(jié)束時,守護線程也會隨之結(jié)束。守護線程通常用于執(zhí)行一些不需要阻塞主線程或長時間運行的任務。
下面是一個簡單的守護線程的代碼演示:
import threading import time # 定義一個線程類 class MyThread(threading.Thread): # 重寫run方法 def run(self): print('線程開始運行') time.sleep(5) print('線程結(jié)束運行') # 創(chuàng)建一個守護線程 t = MyThread() t.setDaemon(True) # 設置為守護線程 t.start() # 主線程執(zhí)行 print('主線程結(jié)束')
在上面的代碼中,我們創(chuàng)建了一個線程類MyThread,重寫了run方法,該方法會在線程開始運行時輸出一條信息,然后暫停5秒鐘,最后再輸出一條信息表示線程結(jié)束運行。接著我們創(chuàng)建了一個實例t,并將其設置為守護線程,然后啟動線程。
在主線程執(zhí)行時,我們輸出一條信息表示主線程結(jié)束。由于t是一個守護線程,當主線程結(jié)束時,守護線程也會隨之結(jié)束。如果t不是一個守護線程,那么在線程運行完畢前,主線程會一直阻塞等待線程運行結(jié)束。