Daemon Thread in Java With Example: Properties of Daemon Threads
Daemon Thread in Java With Example: Properties of Daemon Threads
Daemon thread is a low priority thread (in context of JVM) that runs in background to
perform tasks such as garbage collection (gc) etc., they do not prevent the JVM from
exiting (even if the daemon thread itself is running) when all the user threads (non-
daemon threads) finish their execution.
JVM terminates itself when all user threads (non-daemon threads) finish their
execution, JVM does not care whether Daemon thread is running or not, if JVM finds
running daemon thread (upon completion of user threads), it terminates the thread
and after that shutdown itself.
3.setDaemon() method can only be called before starting the thread. This
method would throw IllegalThreadStateException if you call this method after
Thread.start() method. (refer the example)