Как вы, вероятно, знаете, у вас может быть общая переменная для нескольких потоков.
Вы можете использовать логическую переменную, скажем, exceptionOccured
или serverShutdown
, которая по умолчанию будет false
, а в обработчиках исключений в каждом потоке вы устанавливаете эту переменную в true.
В главном потоке вы будете следить за значениями этой переменной и выполнять необходимую работу в случае, если эта переменная станет true
(т.е. остановить все потоки и т. Д.).
Чтобы реализовать это, вы должны сначала прочитать о volatile ключевое слово