
定义不同
用户线程:平时使用到的线程均为用户线程。
守护线程:用来服务用户线程的线程,例如垃圾回收线程。
作用区别
1、守护线程和用户线程的区别主要在于Java虚拟机是后存活。
2、用户线程:当任何一个用户线程未结束,Java虚拟机是不会结束的。守护线程:如果只剩守护线程未结束,Java虚拟机结束。
实例
在主线程中启动守护线程。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | package com.thread.model.threads;
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电脑。