有没有办法判断一个线程是正常退出还是异常退出?
最佳答案
如前所述,Thread 类的包装器可以捕获该状态。这是一个例子。
>>> from threading import Thread
>>> class MyThread(Thread):
def run(self):
try:
Thread.run(self)
except Exception as err:
self.err = err
pass # or raise err
else:
self.err = None
>>> mt = MyThread(target=divmod, args=(3, 2))
>>> mt.start()
>>> mt.join()
>>> mt.err
>>> mt = MyThread(target=divmod, args=(3, 0))
>>> mt.start()
>>> mt.join()
>>> mt.err
ZeroDivisionError('integer division or modulo by zero',)
关于Python 线程退出代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986616/