Назад к вопросам
Junior — Middle
96
Можете объяснить, что такое демон-поток и чем он отличается от обычного потока?
Ответ от нейросети
sobes.tech AI
Демон-поток (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 остановит демон-поток автоматически.