用户线程和守护线程

用户线程和守护线程


Java线程分为用户线程和守护线程

一般情况下不做特别说明配置,默认都是用户线程
用户线程(User Thread):是系统的工作线程,它会完成这个程序需要完成的业务操作。
守护线程(Daemon Thread):

是一种特殊的线程为其它线程服务的,在后台默默地完成一些系统性的服务,比如垃圾回收线程就是最典型的例子
守护线程作为一个服务线程,没有服务对象就没有必须继续运行了,如果用户线程全部结束了,意味着程序需要完成的业务操作已经结束了,系统可以退出了。所以假如当系统只剩下守护线程的时候,Java虚拟机会自动退出。


线程的daemon属性
true表示是守护线程
false表示是用户线程

    /**
     * Tests if this thread is a daemon thread.
     *
     * @return  <code>true</code> if this thread is a daemon thread;
     *          <code>false</code> otherwise.
     * @see     #setDaemon(boolean)
     */
    public final boolean isDaemon() {
        return daemon;
    }

如何用户线程全部结束意味着程序需要完成的业务操作已经结束了,守护线程随着JVM一同结束工作。
setDaemon(true)方法必须在start()之前设置,否则报IllegalThreadStateException异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值