Java中的守护线程

本文介绍了Java中的守护线程,包括其特点、Thread类中设置和检查守护线程的方法,如setDaemon和isDaemon。常见守护线程示例,以及讨论了main方法是否为守护线程、Junit测试中子线程结束的原因,并提醒了将业务线程设为守护线程可能带来的问题。
摘要由CSDN通过智能技术生成

Java中的守护线程

#技术杂项
#Java多线程

Java中的线程类别分为守护(daemon)线程和用户(user)线程

1. 守护线程的要点

1. 守护线程的唯一目的就是服务于用户线程。
2. 当所有的用户线程运行结束后,JVM将会自动的终止守护线程。
3. 守护线程是低优先级的线程。

2. Java Thread类中守护线程的方法

2.1 setDaemon方法

设置线程为守护线程
public void setDaemon(boolean status)
1. 该方法只能在线程启动前设置,否则会抛出IllegalThreadStateException异常
2. 在daemon线程中创建的线程也是daemon线程

2.2 isDaemon方法

判断当前线程是否为守护线程
public boolean isDaemon()

3. 常见的守护线程

1. JVM的GC垃圾回收器
2. 数据库连接池

4. FAQ

4.1 main()方法是守护线程吗?

main()方法不是守护线程。

    public static void main(String[] args) {

        new Thread(() -> {
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值