品易云推流 关闭
文章 > java基础 > Java守护线程和用户线程的区别

Java守护线程和用户线程的区别

头像

小妮浅浅

2021-04-28 16:50:15817浏览 · 0收藏 · 0评论

1、定义不同

用户线程:平时使用到的线程均为用户线程。

守护线程:用来服务用户线程的线程,例如垃圾回收线程。

2、作用区别

守护线程和用户线程的区别主要在于Java虚拟机是后存活。

用户线程:当任何一个用户线程未结束,Java虚拟机是不会结束的。

守护线程:如果只剩守护线程未结束,Java虚拟机结束。

3、实例

在主线程中启动守护线程。

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基础

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮