Daemon thread (поток-демон) в Java — это низкоприоритетный фоновый поток, который не предотвращает завершение Java Virtual Machine (JVM) когда основная программа заканчивает работу.
Самый известный пример потока-демона — это Garbage Collection (GC). Другие распространённые примеры включают:
Пометить поток как поток-демон можно с помощью метода setDaemon(true):
Thread thread = new Thread();
thread.setDaemon(true);
thread.start();
Важно: Метод setDaemon() нужно вызвать до запуска потока.
Понимание потоков-демонов критично при проектировании приложений, которые корректно завершают работу. В отличие от обычных потоков, потоки-демоны не будут удерживать приложение от завершения, что делает их идеальными для фоновых задач, где потеря незавершённой работы допустима. Это предотвращает утечки ресурсов и гарантирует, что приложение завершится корректно когда нужно.
Daemon-потоки могут предотвратить завершение JVM, если они всё ещё выполняются после того, как все non-daemon потоки завершили работу.
Новый — ещё не проверен сообществом
Вы