Python 正在调用thread.join(),但不是我
在创建threading.Thread()的子类时,我已经超越了.join()方法。当我用一个测试脚本测试我的类时,它工作得很好,但是当我在程序中使用它时,thread.join(线程连接)方法被反复调用,但不是我做的。这个方法叫什么?据我所知,没有任何例外。使用inspect调用函数似乎是_exitfunc,但我找不到有关此的任何信息Python 正在调用thread.join(),但不是我,python,python-multithreading,Python,Python Multithreading,在创建threading.Thread()的子类时,我已经超越了.join()方法。当我用一个测试脚本测试我的类时,它工作得很好,但是当我在程序中使用它时,thread.join(线程连接)方法被反复调用,但不是我做的。这个方法叫什么?据我所知,没有任何例外。使用inspect调用函数似乎是_exitfunc,但我找不到有关此的任何信息 我的代码太长,无法发布,但如果调用函数是\u exitfunc,则可以找到它,这意味着在程序终止时调用了join方法。这是意料之中的,因为Python线程框架在
我的代码太长,无法发布,但如果调用函数是
\u exitfunc
,则可以找到它,这意味着在程序终止时调用了join
方法。这是意料之中的,因为Python线程框架在所有运行的非守护进程线程上调用join
,作为程序终止的一部分
对
\u exitfunc
的最好解释是另一个堆栈溢出问题:如果调用函数是\u exitfunc
,则表示在程序终止时调用join
方法。这是意料之中的,因为Python线程框架在所有运行的非守护进程线程上调用join
,作为程序终止的一部分
关于
\u exitfunc
的最佳解释是另一个堆栈溢出问题:如果您不想在程序退出时调用join()
,请将线程设为守护进程:
t.daemon = True
非守护进程线程将保持进程运行,直到它们全部消亡。如果不希望在程序退出时调用
join()
,请将该线程设为守护进程:
t.daemon = True
非守护进程线程将保持进程运行,直到它们全部死亡