Python主線程和子線程
setDaemon(False)
當一個進程啟動之后,會默認產生一個主線程,因為線程是程序執行的最小單位,當設置多線程時,主線程會創建多個子線程,在Python中,默認情況下就是setDaemon(False),主線程執行完自己的任務以后,就退出了,此時子線程會繼續執行自己的任務,直到自己的任務結束;
案例
importthreading
importtime
defthread():
time.sleep(2)
print('---子線程結束---')
defmain():
t1=threading.Thread(target=thread)
t1.start()
print('---主線程---結束')
if__name__=='__main__':
main()
執行結果
---主線程---結束
---子線程結束---
setDaemon(True)
當我們使用setDaemon(True)時,這是子線程為守護線程,主線程一旦執行結束,則全部子線程被強制終止。
案例
importthreading
importtime
defthread():
time.sleep(2)
print('---子線程結束---')
defmain():
t1=threading.Thread(target=thread)
t1.setDaemon(True)#設置子線程守護主線程
t1.start()
print('---主線程結束---')
if__name__=='__main__':
main()
執行結果
---主線程結束---#只有主線程結束,子線程來不及執行就被強制結束
以上內容為大家介紹了python培訓之什么是主線程,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。