
- Java Tutorial
- Java - Home
- Java - Overview
- Java - Environment Setup
- Java - Basic Syntax
- Java - Object & Classes
- Java - Constructors
- Java - Basic Datatypes
- Java - Variable Types
- Java - Modifier Types
- Java - Basic Operators
- Java - Loop Control
- Java - Decision Making
- Java - Numbers
- Java - Characters
- Java - Strings
- Java - Arrays
- Java - Date & Time
- Java - Regular Expressions
- Java - Methods
- Java - Files and I/O
- Java - Exceptions
- Java - Inner classes
- Java Object Oriented
- Java - Inheritance
- Java - Overriding
- Java - Polymorphism
- Java - Abstraction
- Java - Encapsulation
- Java - Interfaces
- Java - Packages
- Java Advanced
- Java - Data Structures
- Java - Collections
- Java - Generics
- Java - Serialization
- Java - Networking
- Java - Sending Email
- Java - Multithreading
- Java - Applet Basics
- Java - Documentation
- Java Useful Resources
- Java - Questions and Answers
- Java - Quick Guide
- Java - Useful Resources
- Java - Discussion
- Java - Examples
User Thread vs Daemon Thread in Java?
The daemon threads are typically used to perform services for user threads. The main() method of the application thread is a user thread (non-daemon thread). The JVM doesn’t terminate unless all the user thread (non-daemon) terminates. We can explicitly specify a thread created by a user thread to be a daemon thread by calling setDaemon(true). To determine if a thread is a daemon thread by using the method isDaemon().
Example
public class UserDaemonThreadTest extends Thread { public static void main(String args[]) { System.out.println("Thread name is : "+ Thread.currentThread().getName()); // Check whether the main thread is daemon or user thread System.out.println("Is main thread daemon ? : "+ Thread.currentThread().isDaemon()); UserDaemonThreadTest t1 = new UserDaemonThreadTest(); UserDaemonThreadTest t2 = new UserDaemonThreadTest(); // Converting t1(user thread) to a daemon thread t1.setDaemon(true); t1.start(); t2.start(); } public void run() { // Checking threads are daemon or not if (Thread.currentThread().isDaemon()) { System.out.println(Thread.currentThread().getName()+" is a Daemon Thread"); } else { System.out.println(Thread.currentThread().getName()+" is an User Thread"); } } }
Output
Thread name is : main Is main thread daemon ? : false Thread-0 is a Daemon Thread Thread-1 is an User Thread
- Related Articles
- Daemon thread in Java
- What is a daemon thread in Java?
- Main thread vs child thread in C#
- What method is used to create a daemon thread in Java?
- Implement Runnable vs Extend Thread in Java
- How to get current thread is daemon in android?
- How to implement thread in user space?
- How a thread can interrupt another thread in Java?
- Thread Pools in Java
- Naming a thread in Java
- Inter thread communication in Java
- Demonstrate thread priorities in Java
- Change Thread Priority in Java
- Get current thread in Java
- Java Thread Priority in Multithreading

Advertisements