![Java多线程并发体系实战(微课视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/362/52842362/b_52842362.jpg)
上QQ阅读APP看书,第一时间看更新
1.6 线程的优先级
创建新线程对象的优先级,默认从当前执行线程对象中获得并初始化,官方源代码的缩减版本只保留核心关键的代码,如图1-7所示。
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P19_9881.jpg?sign=1738824434-E95wDCh7kfVq10EnOMH11xbvaWCfgK6O-0-cfb29d23d340cae76e86c4a2556d4247)
图1-7 Thread类构造器中默认的优先级
官方默认提供了3个优先级的常量,数值范围是1~10,优先级是一个相对的概念,并不是一个绝对的概念。优先级越高被执行的概率越大,如图1-8所示。
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P19_9885.jpg?sign=1738824434-aaG3jKp34kmGtp9x6K12UrKmuPK4iE9V-0-9f98aad51bb8f7605febc42235377beb)
图1-8 Thread类优先级常量
1.获得优先级
可以通过Thread线程对象的getPriority()方法获得优先级,代码如下:
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P20_18609.jpg?sign=1738824434-nY8SahNJRj9n9J5ZxtogGkELlRvWrbOb-0-02807b42539e6ef6d7e8589e107146ee)
2.设置优先级
可以通过Thread线程对象的setPriority(int newPriority)方法设置优先级,代码如下:
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P20_18610.jpg?sign=1738824434-5Y05JdGAZqAS7v8om0vm1hx0gbPL2vMA-0-584b44d4b505ed8d4be2b8dbd32adb30)
执行结果如下:
main:5 level:10