当前位置: 首页 > 教程 > Java多线程 >

Java 线程优先级

精华
小牛编辑
125浏览
2023-03-14

1 什么是Java 线程优先级

每个线程都有一个优先级。优先级由1到10之间的数字表示。在大多数情况下,线程计划会根据线程的优先级来调度线程(称为抢先式调度)。但是不能保证一定被调用,因为是否被调用取决于JVM选择谁来调度。

2 Thread类线程优先级常量

  1. public static int MIN_PRIORITY
  2. public static int NORM_PRIORITY
  3. public static int MAX_PRIORITY

线程的默认优先级为5(NORM_PRIORITY)。MIN_PRIORITY的值为1,MAX_PRIORITY的值为10。

3 Java 线程优先级的例子

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java 线程优先级的例子
 */
class Demo extends Thread{
    public void run(){
        System.out.println("running thread name is:"+Thread.currentThread().getName());
        System.out.println("running thread priority is:"+Thread.currentThread().getPriority());

    }
    public static void main(String args[]){
        Demo m1=new Demo();
        Demo m2=new Demo();
        m1.setPriority(Thread.MIN_PRIORITY);
        m2.setPriority(Thread.MAX_PRIORITY);
        m1.start();
        m2.start();

    }
}

输出结果为:

running thread name is:Thread-1
running thread priority is:10
running thread name is:Thread-0
running thread priority is:1