Home »
Java programming language
Java Thread Class final void setDaemon(boolean thread_status) method with Example
Java Thread Class final void setDaemon(boolean thread_status) method: Here, we are going to learn about the final void setDaemon(boolean thread_status) method of Thread class with its syntax and example.
Submitted by Preeti Jain, on July 25, 2019
Thread Class final void setDaemon(boolean thread_status)
- This method is available in package java.lang.Thread.setDaemon(Boolean thread_status).
- This method is used to set the current thread as a Daemon thread.
- Daemon thread is the thread which runs in the background.
- This method is not static so we cannot access this method with the class name too.
- This method is final we can't override this method in child class.
- The return type of this method is void so it does not return anything.
- This method does not raise an exception if the current thread can't modify this thread.
Syntax:
final void setDaemon(boolean thread_status){
}
Parameter(s):
We pass only one object (thread_status) as a parameter in the method of the Thread. Here thread_status is of the boolean type so the value will be true or false if set true in setDaemon(true) method so it means this thread is a daemon thread and else set false in setDaemon(false) method so it means this thread is not a daemon thread.
Return value:
The return type of this method is void, it does not return anything.
Java program to demonstrate example of setDaemon() method
/* We will use Thread class methods so we are importing
the package but it is not mandate because
it is imported by default
*/
import java.lang.Thread;
class SetDaemonThread extends Thread {
//Override run() method of Thread class
public void run() {
// To check the thread is daemon
if (Thread.currentThread().isDaemon()) {
//Code for Daemon thread
System.out.println(Thread.currentThread().getName() + " is a daemon thread");
} else {
System.out.println(Thread.currentThread().getName() + " is not a daemon thread");
}
}
public static void main(String[] args) {
// creating three object of the class SetThreadDaemon
SetDaemonThread d1 = new SetDaemonThread();
SetDaemonThread d2 = new SetDaemonThread();
SetDaemonThread d3 = new SetDaemonThread();
// d2 is a daemon thread which is set by setDaemon(true) method
d2.setDaemon(true);
// By using start() method we will start execution of the thread
d1.start();
d2.start();
d3.start();
}
}
Output
E:\Programs>javac SetDaemonThread.java
E:\Programs>java SetDaemonThread
Thread-0 is not a daemon thread
Thread-1 is a daemon thread
Thread-2 is not a daemon thread