【Kill Thread Part.1-6】一网打尽线程属性

本文详细介绍了线程的各种属性,包括线程ID、线程名称、守护线程的作用及特性、线程优先级及其在不同操作系统上的表现。文章强调了合理使用这些属性的重要性,并提醒开发者注意避免潜在的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【Kill Thread Part.1-6】一网打尽线程属性

  • 什么时候我们需要设置守护线程?
  • 我们应该如何应用线程优先级来帮助程序运行?有哪些禁忌?
  • 不同操作系统如何处理优先级问题

一、线程各属性概览

image-20220124175236719

二、线程各个属性

1、线程ID

从小到大

/**
 * 描述:     ID从1开始,JVM运行起来后,我们自己创建的线程的ID早已不是2.
 */
public class Id {

    public static void main(String[] args) {
        Thread thread = new Thread();
        System.out.println("主线程的ID"+Thread.currentThread().getId());
        System.out.println("子线程的ID"+thread.getId());
    }
}

image-20220124175632950

2、线程名字

image-20220124183245829

image-20220124183301463

三、守护线程

作用:给用户线程提供服务

当用户线程结束了,JVM运行停止,守护线程负责给用户线程提供服务。

特性:

  • 线程类型默认继承自父线程
  • 被谁启动(通常而言都是由JVM启动的)
  • 不影响JVM的退出

和普通线程的区别:

  • 整体上没什么区别
  • 唯一区别在于JVM的离开

四、线程优先级

10个级别,默认为5

程序设计不应该依赖于优先级:

  • 不同操作系统对于优先级的理解不一样
  • 优先级会被操作系统改变
  • 可能导致线程被饿死

五、总结

image-20220124184048998

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值