python爬蟲 Python主線程結(jié)束為什么守護(hù)線程還在運(yùn)行?
Python主線程結(jié)束為什么守護(hù)線程還在運(yùn)行?這取決于您的子線程是否是后臺(tái)線程。只要有線程在運(yùn)行,應(yīng)用程序就不會(huì)停止,所有后臺(tái)線程都會(huì)立即停止首先,子線程必須由主線程啟動(dòng),所以嚴(yán)格來說,“子線程結(jié)束后
Python主線程結(jié)束為什么守護(hù)線程還在運(yùn)行?
這取決于您的子線程是否是后臺(tái)線程。只要有線程在運(yùn)行,應(yīng)用程序就不會(huì)停止,所有后臺(tái)線程都會(huì)立即停止
首先,子線程必須由主線程啟動(dòng),所以嚴(yán)格來說,“子線程結(jié)束后再執(zhí)行主線程”是不可能的。您的意思應(yīng)該是:在主線程創(chuàng)建子線程之后,等待子線程退出,然后繼續(xù)。代碼沒有太大問題,只是join方法的位置不正確。螺紋1。Start()//啟動(dòng)所有子線程thread2。開始()線程3。開始()線程4。開始()線程5。開始()線程1。Join()//然后等待子線程退出thread2。Join()線程3。Join()線程4。Join()線程5。Join()前面的代碼:thread1。Start()//線程1啟動(dòng)線程1。Join()//等待線程1退出,線程1退出前,以下代碼不能執(zhí)行線程2。Start()//如下代碼,如上所述。thread2.Join()thread3.Start()thread3.Join()thread4.Start()thread4.Join()