Тред создается демоном, если его родитель демон. Свойство Java-треда
isDaemon
можно переключать в любой момент до старта потока.По сравнению с пользовательскими потоками демоны имеют меньший приоритет выполнения.
Когда все пользовательские треды завершились, JVM завершает работу. Демоны не выполняют самостоятельных задач, поэтому не препятствуют остановке, программа завершается не дожидаясь окончания их работы.
Daemon thread может быть полезен для таких действий, как инвалидация кэша, периодическая актуализация значений из внешних источников, освобождение неиспользуемых пользовательских ресурсов.