在生活中有一些順序被大家所遵守,比如先小后大的一次擺放,又或是根據(jù)字母順序進(jìn)行排列。而我們今天所要說的守護(hù)線程在之前將多線程中就有提過,可能有些小伙伴有一點(diǎn)模糊的印象。簡單來說,就是主線程結(jié)束后就可以結(jié)束程序。這樣說想必大家還是不能深刻理解,接下來就讓我們在示例中找尋設(shè)置的方法吧。
setDaemon(bool) :設(shè)置守護(hù)線程,參數(shù)默認(rèn)為False,如果需要設(shè)置,則設(shè)置為True,將子線程設(shè)置成守護(hù)線程后,主線程結(jié)束,無論守護(hù)線程是否執(zhí)行完畢,守護(hù)線程和主線程一起停止?戳讼旅孢@個(gè)示例就知道了。
import time
import threading
def test():
print("啟動(dòng)任務(wù)")
start_time = time.ctime()
# 打印當(dāng)前時(shí)間
print(start_time)
time.sleep(3)
end_time = time.ctime()
print(end_time)
print("結(jié)束任務(wù)")
def main():
print("啟動(dòng)主任務(wù)")
# 沒有參數(shù),args默認(rèn)為空
t1 = threading.Thread(target=test,args=())
# 守護(hù)線程需要在start之前設(shè)置,否則無效
t1.setDaemon(True)
# t1.daemon = True
t1.start()
time.sleep(1)
print("結(jié)束主任務(wù)")
if __name__ == '__main__':
main()
守護(hù)線程有兩種設(shè)置方法,在代碼中注釋有,另外需要注意的就是,守護(hù)線程一 定要在線程執(zhí)行前設(shè)置,否則無效。我們從運(yùn)行結(jié)果可以看到,主任務(wù)結(jié)束后,守護(hù)線程其實(shí)還沒有結(jié)束,但也一起隨主線程結(jié)束了,所以沒有打印"結(jié)束任務(wù)"這句話。
下一篇: 沒有了
初級會(huì)計(jì)職稱中級會(huì)計(jì)職稱經(jīng)濟(jì)師注冊會(huì)計(jì)師證券從業(yè)銀行從業(yè)會(huì)計(jì)實(shí)操統(tǒng)計(jì)師審計(jì)師高級會(huì)計(jì)師基金從業(yè)資格稅務(wù)師資產(chǎn)評估師國際內(nèi)審師ACCA/CAT價(jià)格鑒證師統(tǒng)計(jì)資格從業(yè)
一級建造師二級建造師消防工程師造價(jià)工程師土建職稱房地產(chǎn)經(jīng)紀(jì)人公路檢測工程師建筑八大員注冊建筑師二級造價(jià)師監(jiān)理工程師咨詢工程師房地產(chǎn)估價(jià)師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評價(jià)土地登記代理公路造價(jià)師公路監(jiān)理師化工工程師暖通工程師給排水工程師計(jì)量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導(dǎo)游考試社會(huì)工作者司法考試職稱計(jì)算機(jī)營養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護(hù)士資格證初級護(hù)師主管護(hù)師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實(shí)踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗(yàn)技師臨床醫(yī)學(xué)理論中醫(yī)理論