守护线程, setDeamon


守护线程

线程分为用户线程和守护线程
虚拟机必须保证用户线程执行完毕
虚拟机不用等待守护线程执行完毕(后台记录操作日志,监控内存,垃圾回收等等

package Thread.Demo08;

/**线程分为用户线程和守护线程
 * 虚拟机必须保证用户线程执行完毕
 * 虚拟机不用等待守护线程执行完毕(后台记录操作日志,监控内存,垃圾回收等等)
 * 守护线程
 *
 * @author liu
 */
public class Demo01 {
    public static void main(String[] args) {
        Thread thread1 = new Thread(new You());
        Thread thread2 = new Thread(new god());
        //默认是false表示用户线程,正常线程都是户用线程
        thread2.setDaemon(true);
        thread1.start();
        thread2.start();
    }
}

class You implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 36500; i++) {
            System.out.println("活到第" + i + "天");
        }
        System.out.println("---------say goodbye---------");
    }
}

class god implements Runnable {
    @Override
    public void run() {
        while (true) {
            System.out.println("佛祖保佑");
        }
    }
}