python 守護執行緒
如果你想等待子執行緒完成再退出,那就什麼都不用做。,或者顯示地呼叫thread.setdaemon(false),設定daemon的值為false。新的子執行緒會繼承父執行緒的daemon標誌。整個python會在所有的非守護執行緒退出後才會結束,即程序中沒有非守護執行緒存在的時候才結束。
用**測試一下上面的結論。
情況1,不設定deamon的時候。
#!coding:utf8
import time
import threading
deffun
():print
"start fun"
time.sleep(2)
print
"end fun"
print
"main thread"
t1 = threading.thread(target=fun,args=())
#t1.setdaemon(true)
t1.start()
time.sleep(1)
print
"main thread end"
得到的結果是
main thread
start fun
main thread end
end fun
說明,程式在等待子執行緒結束,才退出了。
情況2,設定了daemon。
1
#!coding:utf8 23
import time
4import threading
567def
fun():
8print
"start fun"
9 time.sleep(2)
10print
"end fun"
1112
13print
"main thread"
14 t1 = threading.thread(target=fun,args=())
15 t1.setdaemon(true)
16 t1.start()
17 time.sleep(1)
18print
"main thread end"
程式輸出
main thread
start fun
main thread end
程式在主線程結束後,直接退出了。 導致子執行緒沒有執行完。
python 守護執行緒
一 基礎概念 1 守護執行緒 在主線程 執行結束後,等待其它子執行緒執行結束,守護執行緒結束 2 守護程序 隨著主程序 執行結束,守護程序結束 3 主線程執行結束,它所在的程序執行結束 4 主程序 執行結束,主程序並沒結束,等待其它子程序執行結束並 資源 二 示例 守護執行緒 import time...
Python守護執行緒簡述
thread模組不支援守護執行緒的概念,當主線程退出時,所有的子執行緒都將終止,不管它們是否仍在工作,如果你不希望發生這種行為,就要引入守護執行緒的概念。threading模組支援守護執行緒,其工作方式是 守護執行緒一般是乙個等待客戶端請求服務的伺服器。如果沒有客戶端請求,守護執行緒就是空閒的,如果...
python執行緒鎖 守護執行緒,程序鎖 守護程序
1 守護程序 1.1 什麼是守護程序?1 守護程序會在主程序 執行結束的情況下,立即結束。2 守護程序本身其實就是乙個子程序。3 主程序在其 結束後已經執行完畢 守護程序在此時就被 然後主程序會一直等非守護的子程序都執行完畢後 子程序的資源才會結束。1.2 為什麼要用守護程序?1 守護程序本身就是乙...