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

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 мог не выполниться.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести