Я просматривал способы убить темы в Java, и подавляющий вывод заключается в том, что никогда не бывает безопасно останавливать код в произвольных точках - делать это может оставить ресурсы в грязных промежуточных государствах. Вот почему Thread.stop () был устарел навсегда и в конечном итоге удален в пользу управления кооперативными потоками. Если вы поймаете исключение переполнения стека из произвольного потока (в моем случае, полузащитный код пользователя), могут ли это означать, что объекты времени выполнения остаются в нелегальных состояниях? (Неудаленные замки, открытые соединения, «атомные» операции остановились на полпути?)
Подробнее здесь: https://stackoverflow.com/questions/796 ... termediate