Основное завершение работы Java при сбое дочернего потока - PullRequest
0 голосов
/ 11 сентября 2018

Какой самый чистый способ закрыть все потоки после того, как поток встречает необработанное исключение?Я хочу сделать это в случае, когда поток, вероятно, находится в несогласованном состоянии, и запуск других потоков или запуск процесса бесполезен.

System.exit - это один из способов, т. Е. Следующим образом:

Thread t = new Thread(new MyRunner());

Thread.UncaughtExceptionHandler eh = new Thread.UncaughtExceptionHandler() {
  public void uncaughtException(Thread t, Throwable e) {
    System.out.println("2");
    System.exit(0);
  }
};
t.setUncaughtExceptionHandler(eh);
t.start();

Есть ли причина не делать этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...