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

Пример №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() приведёт к его зацикливанию.

Follow CodeGalaxy

Mobile Beta

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