Ответ
Daemon-поток (фоновый поток) — это поток, который автоматически завершается при завершении работы основного приложения. В отличие от обычных потоков, JVM не ждёт завершения daemon-потоков.
Особенности:
- Создаётся через
thread.setDaemon(true)перед запуском (thread.start()). - Используется для фоновых задач (логирование, мониторинг), которые не критичны для работы приложения.
- Нельзя делать daemon-поток, если он выполняет важные операции (например, сохранение данных).
Пример:
val daemonThread = Thread {
while (true) {
println("Daemon thread running...")
Thread.sleep(1000)
}
}.apply {
isDaemon = true
start()
}
// При завершении main-потока daemonThread тоже завершится.