Originally posted by Srinivasa Raghavan:
Daemon threads are low priority threads that provides some service to an application. Garbage Collector thread is an example of daemon thread.
Actually, the daemon or non-daemon status is completely unrelated to the priority.
As is clearly documented in the
Java API/Spec (RTFM), the daemon or non-daemon status of a thread determines how the thread affects JVM shut-down. The JVM will not shut down while any non-daemon threads are running. In contrast, daemon threads do not prevent shut-down.
Daemon threads are often used for background, clean-up tasks or for services. Sometimes they are run at low priority, but that choice depends on the application.