Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

User Thread vs Daemon Thread ใน Java?


เธรด daemon มักใช้เพื่อดำเนินการบริการสำหรับเธรดผู้ใช้ วิธีการ main() ของเธรดแอปพลิเคชันคือ เธรดผู้ใช้ (เธรดที่ไม่ใช่ daemon) . JVM ไม่ยุติเว้นแต่ เธรดผู้ใช้ (ไม่ใช่ภูต) . ทั้งหมด สิ้นสุด เราสามารถระบุเธรดที่สร้างโดย เธรดผู้ใช้ . ได้อย่างชัดเจน เพื่อเป็นเธรด daemon โดยเรียก setDaemon(true) . เพื่อตรวจสอบว่าเธรดเป็นเธรด daemon โดยใช้เมธอด 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