Java 中的守护线程
java programming java8object oriented programming
守护线程是后台服务线程,它作为低优先级线程运行并执行垃圾收集等后台操作。如果只剩下守护线程,JVM 将退出。
Thread 类的 setDaemon() 方法用于将特定线程标记/设置为守护线程或用户线程。当运行的线程全部是守护线程时,Java 虚拟机将退出。必须在启动线程之前调用此方法。
示例
class adminThread extends Thread { adminThread() { setDaemon(false); } public void run() { boolean d = isDaemon(); System.out.println("daemon = " + d); } } public class Tester { public static void main(String[] args) throws Exception { Thread thread = new adminThread(); System.out.println("thread = " + thread.currentThread()); thread.setDaemon(false); thread.start(); } }
输出
thread = Thread[main,5,main] daemon = false