Home Java Thread Daemon Threads



Daemon Threads
Posted on: April 17, 2007 at 12:00 AM
This section describes about the daemon threads in java.

Daemon Threads

     

In Java, any thread can be a Daemon thread. Daemon threads are like a service providers for other threads or objects running in the same process as the daemon thread. Daemon threads are used for background supporting tasks and are only needed while normal threads are executing. If normal threads are not running and remaining threads are daemon threads then the interpreter exits.

   setDaemon(true/false) ? This method is used to specify that a thread is daemon thread.

   public boolean isDaemon() ? This method is used to determine the thread is daemon thread or not.

The following program demonstrates the Daemon Thread:

public class DaemonThread extends Thread {
  public void run() {
  System.out.println("Entering run method");

  try {
  System.out.println("In run Method: currentThread() is"
  + Thread.currentThread());

  while (true) {
  try {
  Thread.sleep(500);
  catch (InterruptedException x) {
  }

  System.out.println("In run method: woke up again");
  }
  finally {
  System.out.println("Leaving run Method");
  }
  }
  public static void main(String[] args) {
  System.out.println("Entering main Method");

  DaemonThread t = new DaemonThread();
  t.setDaemon(true);
  t.start();

  try {
  Thread.sleep(3000);
  catch (InterruptedException x) {
  }

  System.out.println("Leaving main method");
  }

}

Output of this program is:

C:\j2se6\thread>javac DaemonThread.java

C:\j2se6\thread>java DaemonThread
Entering main Method
Entering run method
In run Method: currentThread() isThread[Thread-0,5,main]
In run method: woke up again
In run method: woke up again
In run method: woke up again
In run method: woke up again
In run method: woke up again
In run method: woke up again
Leaving main method

C:\j2se6\thread>

Download this example

Related Tags for Daemon Threads:
javacideormprocessserviceobjectobjectssedbackgroundthreadsviexecportreadthreaddaemonidportingsupportexeprovidertaskfortaskswhileroundrunproceilbackprovidersadscanuseceinnormasmcajadesrunningemmehrobjproppackcutsamesxesueeessanykiceeaandarrtsarvvautissamssamrocthavctsjeprocesprndonlyononormnormanlnor


More Tutorials from this section

Ask Questions?    Discuss: Daemon Threads   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.