默认的用户线程
为用户线程服务的守护线程--->daemon
虚拟机必须确保用户线程执行完毕(不需要等待守护线程执行完毕)
虚拟机不用等待守护线程执行完毕--->如后台记录操作日志、监控内存使用
package iostudy.priority; /** * Java线程分类测试 * 1、用户线程 * 默认线程都是用户线程,虚拟机等待所有线程执行完毕才会停止。否则他不会停止 * 2、守护线程 * 守护线程为用户线程服务,jvm停止不用等待守护吸纳成执行完毕 * @since JDK 1.8 * @date 2021/6/7 * @author Lucifer */ public class DaemonTest { public static void main(String[] args) { /*实例化两个线程对象*/ God god = new God(); You you = new You(); /*实例化代理类,调用start方法*/ Thread t = new Thread(god); /*再中间设置线程类型*/ t.setDaemon(true); //将用户线程调整为守护线程 /* 用户线程执行完毕就会直接停止 不用等待守护线程执行完毕 */ t.start(); new Thread(you).start(); } } /** * 创建多线程实现类 * 这是一个用户线程 * @since JDk 1.8 * @date 2021/6/7 * @author Lucifer */ class You implements Runnable{ /*重写run方法*/ @Override public void run(){ /*循环输出生命周期*/ for (int i = 1; i <= 365 * 100; i++){ System.out.println("Life!!!"); } System.out.println("JunkingBoy"); } } /** * 创建一个守护线程 * @since JDK 1.8 * @date 2021/6/7 * @author Lucifer */ class God implements Runnable{ /*重写run方法*/ @Override public void run(){ while (true){ System.out.println("God Father!"); } } }