私は並行して実行する一連のタスクを持っていますが、最後に例外がスローされたスレッドがあるかどうかを知る必要があります。 は私が直接例外を処理する必要はありません、私はいずれかのスレッドが例外で失敗したかどうかを知る必要があるので、私はきれいにここPythonスレッドが例外をスローしたかどうかを確認します
は簡単な例であるスクリプトを終了することができます
#!/usr/bin/python
from time import sleep
from threading import Thread
def func(a):
for i in range(0,5):
print a
sleep(1)
def func_ex():
sleep(2)
raise Exception("Blah")
x = [Thread(target=func, args=("T1",)), Thread(target=func, args=("T2",)), Thread(target=func_ex, args=())]
print "Starting"
for t in x:
t.start()
print "Joining"
for t in x:
t.join()
print "End"
「終了」の前に、スレッドを繰り返し処理し、失敗したかどうかを確認してから、スクリプトを続行できるかどうか、またはこの時点で終了する必要があるかどうかを判断します。
私は例外を傍受したり、他のスレッドを停止する必要はありません。失敗した場合は、最後に知っておく必要があります。