微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

【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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐