首页 > 编程语言 > 详细

守护线程与用户线程

时间:2019-04-01 18:53:19      阅读:130      评论:0      收藏:0      [点我收藏+]

一、守护线程(Daemon Thread)

        为用户线程提供便利服务的线程就是守护线程,比如JVM中的垃圾回收器就是一种守护线程。守护线程不止是有JVM自行创建的线程,程序员也可以通过setDaemon(true)的方式,将用户线程转化为守护线程。当然,既然守护线程的唯一作用是为用户线程提供便利服务,所以当程序中仅存在守护线程时,守护线程就没有存在的必要了,JVM会关闭剩下的守护线程并且推出该进程。

二、用户线程(User Thread)

        所谓的用户线程就是我们平时建议的有着自己专门作用的线程,也就是非守护线程。我们常见的main方法也同样是用户线程的一员。

public class DaemonThreadTest {
    public static void main(String[]args){
        Thread t = new Thread(
                new Runnable() {
                    @Override
                    public void run() {
                        try {
                            while (true)
                                System.out.println("这是守护线程");
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }
        );
        //
        t.setDaemon(true);
        t.start();
        System.out.println(t.isAlive());
    }
}

通过这段代码的执行,我们可以发现守护线程只能为线程提供服务,无法做输入输出操作。

守护线程与用户线程

原文:https://www.cnblogs.com/qqwhsj/p/10637782.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!