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

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

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

一、线程各属性概览

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

二、线程各个属性

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());
    }
}

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

2、线程名字

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

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

三、守护线程

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

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

特性:

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

和普通线程的区别:

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

四、线程优先级

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

10个级别,默认为5

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

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

五、总结

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

上一篇:WEB前端开发实践 仿Apple官网首页 HTML+CSS+JS


下一篇:Css3图片阴影效果_Css3相册阴影效果(二)