新聞中心
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。

成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)易于使用并且具有良好的響應(yīng)性。
1、說明
如果有一個(gè)線程必須設(shè)置為循環(huán),那么該線程不結(jié)束,意味著整個(gè)python程序就不能結(jié)束,那為了能夠讓python程序正常退出,將這類循環(huán)的線程設(shè)置為守護(hù)線程,當(dāng)程序當(dāng)中僅僅剩下守護(hù)線程時(shí),python程序就能夠正常退出,不必關(guān)心這類線程是否執(zhí)行完畢。
2、作用
守護(hù)線程作用是為其他線程提供便利服務(wù),守護(hù)線程最典型的應(yīng)用就是 GC (垃圾收集器)。
3、使用注意
(1)守護(hù)線程會(huì)在“該進(jìn)程內(nèi)所有非守護(hù)線程全部都運(yùn)行完畢后,守護(hù)線程才會(huì)掛掉”
(2)主線程在其他非守護(hù)線程運(yùn)行完畢后才算運(yùn)行完畢(守護(hù)線程在此時(shí)就被回收)。因?yàn)橹骶€程的結(jié)束意味著進(jìn)程的結(jié)束,進(jìn)程整體的資源都將被回收
4、實(shí)例
import time
import threading
def fun():
print("start fun")
time.sleep(2)
print("end fun")
def main():
print("main thread")
t1 = threading.Thread(target=fun,args=())
t1.setDaemon(True)
t1.start()
time.sleep(1)
print("main thread end")
if __name__ == '__main__':
main()
我們在對線程進(jìn)行運(yùn)行時(shí),如果其中的子線程不結(jié)束,會(huì)導(dǎo)致整個(gè)程序不能停止。但如果在其中加入了守護(hù)線程就不一樣了,從名稱就可以看出是保護(hù)整個(gè)線程的,所以程序可以放心的退出了。
以上就是python守護(hù)線程的基本介紹,看完文章會(huì)發(fā)現(xiàn),有守護(hù)線程在的程序,能夠使程序從無線循環(huán)中退出,大家也來試試這種使用吧。
網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)Python教程:python守護(hù)線程是什么
網(wǎng)頁URL:http://www.dlmjj.cn/article/djsgoco.html


咨詢
建站咨詢
