![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=1739073841-YWVbkdovsVO27JJ8JLbKPFea24dZsmYx-0-924f65a1a78271bae76ef865e8467e7c)
图1-7 Thread类构造器中默认的优先级
官方默认提供了3个优先级的常量,数值范围是1~10,优先级是一个相对的概念,并不是一个绝对的概念。优先级越高被执行的概率越大,如图1-8所示。
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P19_9885.jpg?sign=1739073841-j96ebNmDoZZKvnxq0VvJ4Fg843HIDTXm-0-2bc9040de9aeee15b7ff38c74f4de2b1)
图1-8 Thread类优先级常量
1.获得优先级
可以通过Thread线程对象的getPriority()方法获得优先级,代码如下:
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P20_18609.jpg?sign=1739073841-Dz53uETTRd5swtH9DriOX0ji7IEYzuhT-0-d38bfd8b8dd7600fc1b60b7c70b1d721)
2.设置优先级
可以通过Thread线程对象的setPriority(int newPriority)方法设置优先级,代码如下:
![](https://epubservercos.yuewen.com/DAFF96/31397728807979506/epubprivate/OEBPS/Images/Figure-P20_18610.jpg?sign=1739073841-eRYdeR6IMYqXfkJn2WzQQJLPPXvfQQBy-0-78d5c7acbf38dea6a0ae795e481ca30a)
执行结果如下:
main:5 level:10