有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

多线程java:JVM是否更改了线程优先级(隐式)

当我们创建new Thread(Runnable target)时,它将具有与父线程相同的优先级。 我的问题是,JVM在任何情况下都可以更改优先级吗? 我没有使用setPriority(int)方法


共 (3) 个答案

  1. # 1 楼答案

    不会的。只需补充一点,在幕后,它的操作系统或系统对在其核心上运行的线程有最终的调用,因此,它自己的调度算法最终才是重要的

    然而,JVM将线程呈现给操作系统,在这里,优先级再次根据JVM调度算法发挥作用,但由操作系统决定

  2. # 2 楼答案

    我看不到对此有任何明确的保证,但这不是那种被授予明确保证的事情

    优先级有一个getter和setter,其含义是除非有人再次调用setter,否则值不会改变

    但请注意,这并不意味着系统的任何部分都不允许在“您的”线程上调用^{,只是Thread类本身没有内部的欺骗