當創建threading.Thread()的子類時,我已經覆蓋了.join()方法。當我用一個測試腳本測試我的類時,它工作正常,但是在我的程序中使用它時,thread.join)方法一遍又一遍地被調用,但它並不是我所做的。什麼叫這個方法?據我所知,沒有任何例外。使用檢查調用函數似乎是_exitfunc,但我無法找到任何信息。thread.join()被調用,它不是我
我的代碼是長職位,但可以發現here
當創建threading.Thread()的子類時,我已經覆蓋了.join()方法。當我用一個測試腳本測試我的類時,它工作正常,但是在我的程序中使用它時,thread.join)方法一遍又一遍地被調用,但它並不是我所做的。什麼叫這個方法?據我所知,沒有任何例外。使用檢查調用函數似乎是_exitfunc,但我無法找到任何信息。thread.join()被調用,它不是我
我的代碼是長職位,但可以發現here
如果調用函數是_exitfunc
這意味着,join
方法被調用的程序終止。這是可以預料的,因爲Python線程框架在所有運行的非後臺線程上調用join
作爲程序終止的一部分。
的_exitfunc
最好的解釋是另外一個堆棧溢出問題:What is a python thread
如果你不想join()
被稱爲當程序退出,使線程守護進程:
t.daemon = True
非守護線程將繼續運行,直到它們全部死亡。