线程分为用户线程和守护线程,java虚拟机伴随所有用户线程执行完毕而结束,不等待守护线程执行。典型应用如GC。
public class Daemon { public static void main(String[] args) { Dae d = new Dae(); User u = new User(); Thread t = new Thread(d); t.setDaemon(true); // 设置为守护线程,默认为false,用户线程 t.start(); new Thread(u).start(); // 用户线程启动 } } class User implements Runnable{ @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println("我是用户线程"+i); } System.out.println("用户线程执行结束"); } } class Dae implements Runnable{ @Override public void run() { while (true){ System.out.println("我是守护线程"); } } }