定义不同
用户线程:平时使用到的线程均为用户线程。
守护线程:用来服务用户线程的线程,例如垃圾回收线程。
作用区别
1、守护线程和用户线程的区别主要在于Java虚拟机是后存活。
2、用户线程:当任何一个用户线程未结束,Java虚拟机是不会结束的。守护线程:如果只剩守护线程未结束,Java虚拟机结束。
实例
在主线程中启动守护线程。
package com.thread.model.threads; /** * Hello world! * */ public class ThreadClass { public static void main( String[] args ) { Thread thread = new Thread(new Runnable() { public void run() { while(true) { try { System.out.println("守护线程心跳一次"); Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }); thread.setDaemon(true);//将该线程设置为守护线程 thread.start(); try { Thread.sleep(10000); Thread currentthread = Thread.currentThread(); System.out.println("主线程"+currentthread.getName()+"退出!"); } catch (InterruptedException e) { e.printStackTrace(); } } }
以上就是Java守护线程和用户线程的区别,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。