How do I create a daemon thread?

A daemon thread is simply a background thread that is subordinate to the thread that creates it, so when the thread that created the daemon thread ends, the daemon thread dies with it. A thread that is not a daemon thread is called a user thread. To create a daemon thread, call setDaemon() method with a true boolean value as argument before the thread is started.

package org.kodejava.lang;

public class DaemonThread implements Runnable {
    private final String threadName;

    private DaemonThread(String threadName) {
        this.threadName = threadName;

    public static void main(String[] args) {
        Thread t1 = new Thread(new DaemonThread("FirstThread"));
        Thread t2 = new Thread(new DaemonThread("SecondThread"));

        // t1 is as daemon thread

        // t2 is a user thread

    public void run() {
        System.out.println("Running [" + threadName + "]");

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.