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 值得注意的是,在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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |