加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java Thread优先级如何转换为OS线程优先级?

发布时间:2020-12-14 05:11:35 所属栏目:Java 来源:网络整理
导读:Java API线程优先级(1-10)如何被转换为操作系统级别的优先级,因为大多数操作系统不具有与之匹配的线程优先级(以数字表示). 所以记住,如果两个或多个具有不同优先级的线程最终在OS级别获得相同的优先级,那么会有一种情况. 请澄清一点,如果我有一些修正我的理
Java API线程优先级(1-10)如何被转换为操作系统级别的优先级,因为大多数操作系统不具有与之匹配的线程优先级(以数字表示).

所以记住,如果两个或多个具有不同优先级的线程最终在OS级别获得相同的优先级,那么会有一种情况.

请澄清一点,如果我有一些修正我的理解.

解决方法

事实上,一些优先级别可以映射到相同的“本机”优先级.这是列表(基于OpenJDK 6中的Hotspot代码):

的Solaris

> 1?0
> 2?32
> 3?64
> 4?96
> 5 – 10?127

值得注意的是,在Solaris上,您不能将线程优先级提高到正常值以下,只能将其优先级更低:5的优先级值与任何较高的值相同.

Linux的

> 1 – 10?4 – -5(不错的值)

值得注意的是,在Linux上,Java中不同的线程优先级确实映射到本机级别的不同优先级值.

视窗

> 1 – 2?THREAD_PRIORITY_LOWEST> 3 – 4?THREAD_PRIORITY_BELOW_NORMAL> 5 – 6?THREAD_PRIORITY_NORMAL> 7 – 8?THREAD_PRIORITY_ABOVE_NORMAL> 9 – 10?THREAD_PRIORITY_HIGHEST

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读