守护线程是一种特殊的线程,是在后台完成一些系统性的服务。如垃圾回收线程、JIT线程。与守护线程相对的就是用户线程,用户线程可以认为是系统的工作线程。
当一个 Java 程序只有守护线程时,Java 虚拟机就会退出。
package com.demo.base;public class ThreadDemo {public static void main(String[] args) {Thread daemonT = new Thread(new MyRunnable(), "守护线程");// 设置 daemonT 线程为守护线程daemonT.setDaemon(true);daemonT.start();try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("用户线程退出");}}class MyRunnable implements Runnable {@Overridepublic void run() {String name = Thread.currentThread().getName();System.out.println("线程: " + name + " 开始执行。。。");int i = 0;while (true){System.out.println("线程: " + name + "---" + i);i++;try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}}}}
