Java教程

JAVA学习线程优先级

本文主要是介绍JAVA学习线程优先级,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 如果线程没有没有明确优先级的话,系统会默认分配给了一个5的优先级。优先级:从1~10,其他的都是不合法的,优先级越高,代表这个线程先被调用的概率越高,优先级为10的线程,不一定比优先级为5的线程先执行,只是比他先执行的概率高

常用方法:

       setPriority(int )设置优先级,填数字1~10之间;或者用系统自带的

Thread.NORM_PRIORITY(5),Thread.MIN_PRIORITY(1),Thread.MAX_PRIORITY(10)

        getPriority() 获取该线程的优先级


总结:1、线程优先级高的不一定先执行,只是概率高

           2、先设置优先级,在start()

附一个代码

        

public class Demo11 {
    public static void main(String[] args) {
        Test test = new Test();
        Thread thread = new Thread(test);
        Thread thread1 = new Thread(test);
        Thread thread2 = new Thread(test);
        thread2.setPriority(Thread.MIN_PRIORITY);
        thread2.start();
        thread.setPriority(Thread.NORM_PRIORITY);
        thread.start();
        thread1.setPriority(Thread.MAX_PRIORITY);
        thread1.start();
    }
}
class Test implements Runnable{

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+"的优先级为"+Thread.currentThread().getPriority());
    }
}

这篇关于JAVA学习线程优先级的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!