python在線編程 Python主線程結(jié)束為什么守護線程還在運行?
Python主線程結(jié)束為什么守護線程還在運行?這取決于您的子線程是否是后臺線程。只要有線程在運行,應(yīng)用程序就不會停止,所有后臺線程都會立即停止python線程,問題請教,怎么保證子線程執(zhí)行完畢?如果調(diào)
Python主線程結(jié)束為什么守護線程還在運行?
這取決于您的子線程是否是后臺線程。只要有線程在運行,應(yīng)用程序就不會停止,所有后臺線程都會立即停止
python線程,問題請教,怎么保證子線程執(zhí)行完畢?
如果調(diào)用start,則先執(zhí)行主線程,然后執(zhí)行子線程;如果調(diào)用run,則相當于函數(shù)調(diào)用,并按程序順序執(zhí)行;
1。方法啟動線程,真正實現(xiàn)了多線程。此時,不需要等待run方法體代碼的執(zhí)行完成,可以直接繼續(xù)執(zhí)行下面的代碼;通過調(diào)用thread類的start()方法來啟動線程。此時,線程處于就緒狀態(tài),不會運行。然后,thread類調(diào)用run()方法來完成其操作。這里,run()方法稱為線程體,它包含要執(zhí)行的線程的內(nèi)容。run方法結(jié)束時,線程終止。然后CPU調(diào)度其他線程。
2. run()方法作為普通方法調(diào)用。程序仍然需要按順序執(zhí)行,下面的代碼只能在執(zhí)行run方法體之后執(zhí)行。程序中只有一個主線程,并且只有一條程序執(zhí)行路徑,因此無法達到編寫線程的目的。