Python 守護執行緒

2021-08-07 21:54:19 字數 1260 閱讀 8031

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 守護程序本身就是乙...