chuỗi daemon thường được sử dụng để thực hiện các dịch vụ cho các luồng người dùng. Phương thức main () của luồng ứng dụng là luồng người dùng (luồng không phải daemon) . JVM không kết thúc trừ khi tất cả chuỗi người dùng (không phải daemon) chấm dứt. Chúng tôi có thể chỉ định một cách rõ ràng một chuỗi được tạo bởi một chuỗi người dùng trở thành một chuỗi daemon bằng cách gọi setDaemon (true) . Để xác định xem một tiểu trình có phải là một tiểu trình daemon hay không bằng cách sử dụng phương thức isDaemon () .
Ví dụ
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"); } } }
Đầu ra
Thread name is : main Is main thread daemon ? : false Thread-0 is a Daemon Thread Thread-1 is an User Thread