Нет!Вам не всегда нужно вызывать System.exit(0)
, чтобы завершить Java-программу.Если ваш код не породил поток, не являющийся демоном, приложение автоматически завершит работу после выполнения задачи основного потока.
Если ваш метод main приводит к порождению некоторого потока, не являющегося демоном, который все еще жив, выполняя некоторую обработку, пока ваш метод main достигнет конца, то приложение не будет завершено, пока эти потоки не завершатся.В этом случае, если вы явно позвоните System.exit(0)
, приложение немедленно прекратит работу, уничтожив все ваши потоки.
Пожалуйста, укажите javadoc of Thread , в котором упоминаются подробности.