全国热线

025-86901720

全国监督投诉热线:9:00-23:00

java线程优先级是什么意思,哪里会用到

关于java线程,也有一些有意思的属性,比如线程优先级,很多java新手可能还不了解。今天就让南京学码思java培训学校​老师来给大家说说java线程优先级是什么意思,哪里会用到。

之前小编已经为大家重点解释过java线程和java进程的区别,相信大家已经心里有数了,这两个都是java中比较重要的概念,需要深入分析,好好掌握。关于java线程,也有一些有意思的属性,比如线程优先级,很多java新手可能还不了解。今天就让南京学码思java培训学校老师来给大家说说java线程优先级是什么意思,哪里会用到。

java线程优先级是什么意思,哪里会用到

线程的优先级介于1(MINPRIORITY)到10(MAXPRIORITY)之间,主线程默认是5(NORM_PRIORITY)。每个新线程都默认继承父线程的优先级,因此如果你没有设置过的话,所有线程的优先级都是5。这个是通常被忽视的属性,我们可以通过getPriority()与setPriority()方法来获取及修改它的值。线程的构造函数里是没有这个功能的。


什么地方会用到优先级?


当然并不是所有的线程都是平等的,有的线程需要立即引起CPU的重视,而有些线程则只是后台任务而已。优先级就是用来把这些告诉给操作系统的线程调度器的。在Takipi中,这是我们开发的一错误跟踪及排查的工具,负责处理用户异常的线程的优先级是MAX_PRIORITY,而那些只是在上报新的部署情况的线程,它们的优先级就要低一些。你可能会觉得优先级高的线程从JVM的线程调度器那得到的时间会多一些。但其实并都是这样的。


在操作系统层面,每一个新线程都会对应一个本地线程,你所设置的Java线程的优先级会被转化成本地线程的优先级,这个在各个平台上是不一样的。在Linux上,你可以打开“-XX:+UseThreadPriorities”选项来启用这项功能。正如前面所说的,线程优先级只是你所提供的一个建议。和Linux本地的优先级相比,Java线程的优先级并不能覆盖全所有的级别(Linux共有1到99个优先级,线程的优先级在是-20到20之间)。最大的好处就是你所设定的优先级能在每个线程获得的CPU时间上有所体现,不过完全依赖于线程优先级的做法是不推荐的。


看到这里,不知道大家是不是已经有所了解了呢?尤其是学码思java培训新班的同学们,更是要好好消化这个知识点,前期打牢基础,这样学到后面才不会有太大的负担。针对java技术的一些重要知识点和行业新资讯,南京学码思老师会不定期与大家分享,想获取直接java教程和课程资料的话,可以多关注我们南京学码思网站,咨询在线老师领取。


上一篇:java垃圾中的回收算法你了解多少
下一篇:java中各种进制是如何表示的

相关推荐

免费试听 | 学费咨询 | 在线报名 | 申请补贴 | 软件培训 | 网站地图

2016-2020 南京学码思教育科技有限公司 .All Rights Reserved

苏ICP备16033487号 www.njxms.com.cn

全国热线

400-080-3312

全国监督服务热线:9:00-23:00