真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python守護(hù)線程的作用是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了縉云免費(fèi)建站歡迎大家使用!

本篇文章為大家展示了Python守護(hù)線程的作用是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

有一種線程,它是在后臺(tái)運(yùn)行的,它的任務(wù)是為其他線程提供服務(wù),這種線程被稱為“后臺(tái)線程(Daemon Thread)”,又稱為“守護(hù)線程”或“精靈線程”。Python 解釋器的垃圾回收線程就是典型的后臺(tái)線程。

后臺(tái)線程有一個(gè)特征,如果所有的前臺(tái)線程都死亡了,那么后臺(tái)線程會(huì)自動(dòng)死亡。

調(diào)用 Thread 對(duì)象的 daemon 屬性可以將指定線程設(shè)置成后臺(tái)線程。下面程序?qū)⒅付ň€程設(shè)置成后臺(tái)線程,可以看到當(dāng)所有的前臺(tái)線程都死亡后,后臺(tái)線程隨之死亡。當(dāng)在整個(gè)虛擬機(jī)中只剩下后臺(tái)線程時(shí),程序就沒(méi)有繼續(xù)運(yùn)行的必要了,所以程序也就退出了。

import threading

# 定義后臺(tái)線程的線程執(zhí)行體與普通線程沒(méi)有任何區(qū)別
def action(max):
    for i in range(max):
        print(threading.current_thread().name + "  " + str(i))
t = threading.Thread(target=action, args=(100,), name='后臺(tái)線程')
# 將此線程設(shè)置成后臺(tái)線程
# 也可在創(chuàng)建Thread對(duì)象時(shí)通過(guò)daemon參數(shù)將其設(shè)為后臺(tái)線程
t.daemon = True
# 啟動(dòng)后臺(tái)線程
t.start()
for i in range(10):
    print(threading.current_thread().name + "  " + str(i))
# -----程序執(zhí)行到此處,前臺(tái)線程(主線程)結(jié)束------
# 后臺(tái)線程也應(yīng)該隨之結(jié)束

上面程序中先將 t 線程設(shè)置成后臺(tái)線程(第 10 行代碼),然后啟動(dòng)該線程。本來(lái)該線程應(yīng)該執(zhí)行到 i 等于 99 時(shí)才會(huì)結(jié)束,但在運(yùn)行程序時(shí)不難發(fā)現(xiàn),該后臺(tái)線程無(wú)法運(yùn)行到 99,因?yàn)楫?dāng)主線程也就是程序中唯一的前臺(tái)線程運(yùn)行結(jié)束后,程序會(huì)主動(dòng)退出,所以后臺(tái)線程也就被結(jié)束了。

從上面的程序可以看出,主線程默認(rèn)是前臺(tái)線程,t線程默認(rèn)也是前臺(tái)線程。但并不是所有的線程默認(rèn)都是前臺(tái)線程,有些線程默認(rèn)就是后臺(tái)線程。前臺(tái)線程創(chuàng)建的子線程默認(rèn)是前臺(tái)線程,后臺(tái)線程創(chuàng)建的子線程默認(rèn)是后臺(tái)線程。

可見(jiàn),創(chuàng)建后臺(tái)線程有兩種方式:

主動(dòng)將線程的 daemon 屬性設(shè)置為 True。

后臺(tái)線程啟動(dòng)的線程默認(rèn)是后臺(tái)線程。

注意,當(dāng)前臺(tái)線程死亡后,Python 解釋器會(huì)通知后臺(tái)線程死亡,但是從它接收指令到做出響應(yīng)需要一定的時(shí)間。如果要將某個(gè)線程設(shè)置為后臺(tái)線程,則必須在該線程啟動(dòng)之前進(jìn)行設(shè)置。也就是說(shuō),將 daemon 屬性設(shè)為 True,必須在 start() 方法調(diào)用之前進(jìn)行,否則會(huì)引發(fā) RuntimeError 異常。

上述內(nèi)容就是Python守護(hù)線程的作用是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。


當(dāng)前標(biāo)題:Python守護(hù)線程的作用是什么-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/dehghs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部