Share on Google+Share on Google+

Daemon Threads

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 {
  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();

  try {
  catch (InterruptedException x) {

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


Output of this program is:


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


Download this example


Posted on: April 17, 2007 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Share this Tutorial Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Discuss: Daemon Threads   View All Comments

Post your Comment

Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
Lakshmi narayana
September 23, 2011
i want to lern java from you

its more helpful for us
April 9, 2012
how to handle global exeption

package com.lara; public class GlobalExeption { int i=10/0; public static void main(String[] args) { GlobalExeption g=new GlobalExeption(); System.out.println(); }