大厂面试题-什么是守护线程,它有什么特点

下面用最简单的方式让大家彻底搞懂守护线程。

简单说,守护线程就是一种后台服务线程,他和我们在Java里面创建的用户线程是一模一样的。

守护线程和用户线程的区别有几个点,这几个点也是守护线程本身的特性:

1.在线程创建方面,对于守护线程,我们需要主动调用setDaemon()并且设置成true

2.我们知道,一个Java进程中,只要有任何一个用户线程还在运行,那么这个java进程就不会结束,否则,这个程序才会终止。

注意,Java进程的终止与否,只和用户线程有关。如果当前还有守护线程正在运行,也不会阻止Java程序的终止。

因此,守护线程的生命周期依赖于用户线程

举个例子,JVM垃圾回收线程就是一个典型的守护线程,它存在的意义是不断的处理用户线程运行过程中产生的内存垃圾。

一旦户线程全部结束了,那垃圾回收线程也就没有存在的意义了。

由于守护线程的特性所以它它适合用在一些后台的通用服务场景里面。

但是守护线程不能用在线程池或者一些IO任务的场景里面,因为一旦JVM退出之后,守护线程也会直接退出。

就会可能导致任务没有执行完或者资源没有正确释放的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值