2012-04-08 49 views
1

当创建threading.Thread()的子类时,我已经覆盖了.join()方法。当我用一个测试脚本测试我的类时,它工作正常,但是在我的程序中使用它时,thread.join)方法一遍又一遍地被调用,但它并不是我所做的。什么叫这个方法?据我所知,没有任何例外。使用检查调用函数似乎是_exitfunc,但我无法找到任何信息。thread.join()被调用,它不是我

我的代码是长职位,但可以发现here

回答

1

如果调用函数是_exitfunc这意味着,join方法被调用的程序终止。这是可以预料的,因为Python线程框架在所有运行的非后台线程上调用join作为程序终止的一部分。

_exitfunc最好的解释是另外一个堆栈溢出问题:What is a python thread

0

如果你不想join()被称为当程序退出,使线程守护进程:

t.daemon = True 

非守护线程将继续运行,直到它们全部死亡。

相关问题