1. 程式人生 > >學習筆記-python守護執行緒和時間延遲

學習筆記-python守護執行緒和時間延遲

python守護執行緒和時間延遲

也許我們存在這種需求,有些執行緒是處於監聽功能的執行緒,希望其一直執行下去,直到關機,那麼對於一個程式而言,在啟動之後一個程序裡面可以存在很多個執行緒,其他執行緒先執行完成,如果存在某個執行緒需要一直執行,那麼這個程式就無法退出,此時就需要守護執行緒這種方式進行,一旦設定成為守護執行緒,這個執行緒會按照自己的程式碼執行,直到執行完成,如果其先於非守護執行緒執行完成,則看不出任何區別,如果其他非守護執行緒都執行完成,則在直譯器上會看到程式碼執行完畢,程式退出,而守護執行緒還在繼續執行

import threading
import time

def
set_save_demo(): print('守護執行緒開啟') time.sleep(3) print('這是守護執行緒結束') def demo_function(): print('這是普通執行緒') def time_function(): # 定義時間延遲執行執行緒 print('時間延遲5秒後執行的執行緒') if __name__ == '__main__': # 建立執行緒 t1 = threading.Thread(target=set_save_demo) t2 = threading.Thread(
target=demo_function) t3 = threading.Timer(5,function=time_function) # 設定t1為守護執行緒 t1.setDaemon(True) # 設定之後再pycharm中只能看到t2的列印結果和t1前面一句 # 啟動執行緒 t1.start() t2.start() t3.start()

當去掉執行緒3的時候我們將看到輸出結果只有守護執行緒開啟

執行緒3採用的是時間延遲執行方式,這裡使用的是延遲5秒鐘之後進行執行 ,加入之後就能夠看到守護執行緒能夠執行完成