线程可以分为用户线程与守护线程,虚拟机必须等待用户线程执行完毕但不用等待守护线程执行完毕
守护线程如:垃圾回收机制, 内存监控等
守护线程顾名思义,用于守护用户线程,下面举例介绍
public class Daemon {public static void main(String[] args) {Thread you = new Thread(()->{for (int i = 0; i < 500; i++) {System.out.println("live in the world");}System.out.println("===die===");});Thread god = new Thread(()->{while (true) {System.out.println("god bless you");}});god.setDaemon(true); // 默认是falseyou.start();god.start();}
}
在上面的例子中,god线程是一个无限循环,但仍然随着you线程但结束而结束,这就是虚拟机必须等待用户线程执行完毕但不用等待守护线程执行完毕所引发的结果
程序意为--上帝会在守护你一生后尽职~