Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 线程优先级不工作_Java_Multithreading - Fatal编程技术网

Java 线程优先级不工作

Java 线程优先级不工作,java,multithreading,Java,Multithreading,主线程具有优先级5,新创建的线程具有与主线程相同的优先级,如5。但是在启动线程之前,我将新创建的线程的优先级更改为10。最高优先级的线程需要先执行,但不是这样,主线程是先执行的。请告诉我为什么和我的代码有什么问题,我粘贴了全部代码和输出。请帮帮我 public class MyThread1 extends Thread{ @Override public void run(){ System.out.println("Child Thread........

主线程具有优先级5,新创建的线程具有与主线程相同的优先级,如5。但是在启动线程之前,我将新创建的线程的优先级更改为10。最高优先级的线程需要先执行,但不是这样,主线程是先执行的。请告诉我为什么和我的代码有什么问题,我粘贴了全部代码和输出。请帮帮我

public class MyThread1 extends Thread{

    @Override
    public void run(){

        System.out.println("Child Thread............");

         for(int i=1;i<10;i++){

            System.out.println("Child Thread");

        }
    }
}

public class ThreadMain {

    public static void main(String ar[]){

        int mainPriority=Thread.currentThread().getPriority();

        System.out.println("mainPriority = " + mainPriority);

        MyThread1 t1=new MyThread1();

        t1.setPriority(10);

        t1.start();

        int childPriority=t1.getPriority();

        System.out.println("childPriority = " + childPriority);

        for(int i=1;i<10;i++){

            System.out.println("Main Thread");

        }

    }

}

任何人都能帮忙吗,谢谢

线程优先级只是对底层操作系统(调度程序)的建议/请求,告诉他们-您能以更高的优先级运行此线程吗?。操作系统可能只是决定忽略您的请求

没有比线程优先级更高的事情了

可能是重复的事实上,甚至不是那样。在大多数台式机/笔记本电脑/平板电脑/电话操作系统上,Java“优先级”将转化为调度“权重”。当线程与其他线程争夺CPU时,调度权重会影响线程获得的CPU时间。操作系统会根据线程的权重以及最近使用的CPU数量不断调整真正的调度优先级。
mainPriority = 5

childPriority = 10

Main Thread

Main Thread

Main Thread

Main Thread

Main Thread

Main Thread

Main Thread

Main Thread

Main Thread

Child Thread............

Child Thread

Child Thread

Child Thread

Child Thread

Child Thread

Child Thread

Child Thread

Child Thread

Child Thread