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

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
Зарегистрируйся сейчас
или Подпишись на будущие тесты