我正在編寫一個將使用多個線程的應用程序。有主線程正在啓動另一個線程。我想說的是,當啓動的線程中的一個拋出異常時,主線程應該停止啓動線程。它看起來或多或少是這樣的:從其他線程捕獲異常?
class SomeClass {
boolean launchNewThread = true;
public static void main() {
while (launchNewThread) {
try {
AnotherClass.run();
} catch (CrossThreadException e) {
launchNewThread = false;
}
}
}
}
class AnotherClass implements Runnable {
public void run() {
if (a=0) throw new CrossThreadException();
}
}
是的,我知道,上面的代碼只是一個...我會說僞代碼。更重要的是,我不希望主線程等待其他線程。它必須啓動10個「子」線程,並且如果在這些線程中沒有發生異常,就可以啓動接下來的10個線程。 – BartoszCichecki
主線程不必再等待。它將繼續創建線程,除非launchNewThread的值由其中一個子線程通過偵聽器更改。 – laguille