Даны два примера кода. Что произойдёт при их исполнении.

Пример №1:

public class Main {
    public static void main(String[] args) {
        new Thread(){
            { this.setDaemon(true); }

            public void run() {
                while(true) {
                    System.out.println("Thread is running!");
                }
            }
        }.start();
    }
}
Пример №2:

public class Main {
    public static void main(String[] args) {
        new Thread() {

            public void run() {
                while(true) {
                    System.out.println("Thread is running!");
                }
            }
        }.start();
    }
}
Explanation
В примере №1 создаваемый поток имеет тип Daemon, это означает что он будет остановлен как только завершатся все пользовательские потоки приложения. В примере №2 поток не является "демоном" и будет выполняться до тех пор, пока не завершится его метод run(). А конструкция while(true) в методе run() приведёт к его зацикливанию.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты