데몬 스레드 일반적으로 사용자 스레드에 대한 서비스를 수행하는 데 사용됩니다. main() 메서드 애플리케이션 스레드의 사용자 스레드(데몬이 아닌 스레드) . JVM 모든 사용자 스레드(데몬 아님)가 아니면 종료되지 않습니다. 종료합니다. 사용자 스레드에 의해 생성된 스레드를 명시적으로 지정할 수 있습니다. setDaemon(true)을 호출하여 데몬 스레드가 됩니다. . isDaemon() 메서드를 사용하여 스레드가 데몬 스레드인지 확인하려면 .
예시
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"); } } }
출력
Thread name is : main Is main thread daemon ? : false Thread-0 is a Daemon Thread Thread-1 is an User Thread