Каким будет результат выполнения кода (укажите все подходящие варианты)?

class ADaemon implements Runnable {
    public void run() {
        try {
            System.out.println("Запускаем ADaemon");
            Thread.sleep(1);
        } catch (InterruptedException e) {
            System.out.println("Выход через InterruptedException");
        } finally {
            System.out.println("Должно выполняться всегда?");
        }
    }
}

public class DaemonsDontRunFinally {
    public static void main(String[] args) {
        Thread t = new Thread(new ADaemon());
        t.setDaemon(true);
        t.start();
    }
}
Explanation
Демоны завершаются "внезапно", при завершении последнего не -демона. Таким образом сразу же при выходе из main() JVM немедленно прерывает работу всех демонов, не соблюдая никаких формальностей.
Если выполнение демона было прервано в блоке try, блок finally мог не выполниться.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes