当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《JavaThread优先级如何转换为OS线程优先级?》经验,为你挑选了1个好方法。

如何将Java API线程优先级(1-10)转换为OS级别优先级,因为大多数操作系统没有与此匹配的线程优先级(就数字而言).

因此,请记住,当两个或多个具有不同优先级的线程最终在操作系统级别获得相同的优先级时,是否会出现这种情况.

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



1> Chris Jester..:

实际上,某些优先级可以映射到相同的"本机"优先级.这是列表(基于OpenJDK 6中的热点代码):

的Solaris

1⇒0

2⇒32

3⇒64

4⇒96

5 - 10⇒127

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

Linux的

1 - 10⇒4 - -5(nice值)

值得注意的是,在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

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有