新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python什么是主線程
python主線程和子線程

成都創(chuàng)新互聯(lián)主營錫林浩特網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),錫林浩特h5小程序制作搭建,錫林浩特網(wǎng)站營銷推廣歡迎錫林浩特等地區(qū)企業(yè)咨詢
setDaemon(False)
當(dāng)一個進程啟動之后,會默認產(chǎn)生一個主線程,因為線程是程序執(zhí)行的最小單位,當(dāng)設(shè)置多線程時,主線程會創(chuàng)建多個子線程,在Python中,默認情況下就是setDaemon(False),主線程執(zhí)行完自己的任務(wù)以后,就退出了,此時子線程會繼續(xù)執(zhí)行自己的任務(wù),直到自己的任務(wù)結(jié)束;
案例
import threading
import time
def thread():
time.sleep(2)
print('---子線程結(jié)束---')
def main():
t1 = threading.Thread(target=thread)
t1.start()
print('---主線程---結(jié)束')
if __name__ == '__main__':
main()執(zhí)行結(jié)果
---主線程---結(jié)束 ---子線程結(jié)束---
setDaemon(True)
當(dāng)我們使用setDaemon(True)時,這是子線程為守護線程,主線程一旦執(zhí)行結(jié)束,則全部子線程被強制終止。
案例
import threading
import time
def thread():
time.sleep(2)
print('---子線程結(jié)束---')
def main():
t1 = threading.Thread(target=thread)
t1.setDaemon(True) # 設(shè)置子線程守護主線程
t1.start()
print('---主線程結(jié)束---')
if __name__ == '__main__':
main()執(zhí)行結(jié)果
---主線程結(jié)束--- # 只有主線程結(jié)束,子線程來不及執(zhí)行就被強制結(jié)束
網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:python什么是主線程
當(dāng)前地址:http://m.fisionsoft.com.cn/article/djjjgoc.html


咨詢
建站咨詢
