Java守护线程setDaemon

守护线程:

为用户线程停止办事的线程.当一切的用户线程都履行停止今后不管守护线程的线程体能否履行完,守护线程都邑停止

 

设置守护线程
void  setDaemon(boolean on) 将该线程标记为守护线程或用户线程。


t.setDaemon(true);

MyThread01.java
public class MyThread01 implements Runnable {

   public void run() {
      for (int i = 1; i <= 100; i++) {
        System.out.println(Thread.currentThread().getName() + "~~~" + i);
      }
   }
}

MyThread02.java

public class MyThread02 extends Thread {
   public void run() {
      for (int i = 1; i <= 100; i++) {
        System.out.println(this.getName() + "*_*" + i);
      }
   }
}

Test.java

public class Test {
   public static void main(String[] args) {
      Thread t1 = new Thread(new MyThread01());
      Thread t2 = new MyThread02();
      // 把t2 设置为守护线程
      // 守护线程:为用户线程停止办事的线程.当一切的用户线程都履行停止今后
      // 不管守护线程的线程体能否履行完,守护线程都邑停止
      t2.setDaemon(true);
      t1.start();
      t2.start();
      for (int i = 1; i <= 100; i++) {
        System.out.println(Thread.currentThread().getName() + "<><>" + i);
      }
   }
}

留意: main 线程是主线程,不是守护线程,也不克不及设置为守护线程。

 

断定守护线程的办法
boolean   isDaemon() 测试该线程能否为守护线程。

t2.isDaemon();