- Daemon threads are those threads which provide general services for user threads (Example : clean up services - garbage collector)
- Daemon threads are running all the time until kill by the JVM
- Daemon Threads are treated differently than User Thread when JVM terminates , finally blocks are not called JVM just exits
- JVM doesn't terminates unless all the user threads terminate. JVM terminates if all user threads are dies
- JVM doesn't wait for any daemon thread to finish before existing and finally blocks are not called
- If all user threads dies JVM kills all the daemon threads before stops
- When all user threads have terminated, daemon threads can also be terminated and the main program terminates
- setDaemon() method must be called before the thread's start() method is invoked
- Once a thread has started executing its daemon status cannot be changed
- To determine if a thread is a daemon thread, use the accessor method isDaemon()
↧
Answer by Malith Ileperuma for What is a daemon thread in Java?
↧