Junior — Middle
Pouvez-vous expliquer ce qu'est un thread démon et en quoi il diffère d'un thread normal?
sobes.tech IA
Réponse de l'IA
Демон-поток (daemon thread) в Java — это поток, который работает в фоновом режиме и не препятствует завершению работы JVM. Основное отличие от обычного (пользовательского) потока в том, что JVM автоматически завершает работу, когда все пользовательские потоки завершены, даже если демоны всё ещё работают.
Особенности демон-потоков:
- Они предназначены для выполнения фоновых задач, например, сборщик мусора.
- Не блокируют завершение программы.
- Можно установить поток как демон с помощью метода
setDaemon(true)до запуска потока.
Пример:
Thread daemonThread = new Thread(() -> {
while (true) {
System.out.println("Демон-поток работает");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
break;
}
}
});
daemonThread.setDaemon(true);
daemonThread.start();
System.out.println("Основной поток завершился");
В этом примере, когда основной поток завершится, JVM остановит демон-поток автоматически.