举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > java线程优先级大小 Java 线程优先级

java线程优先级大小 Java 线程优先级

2023-03-20 09:18 Java教程

java线程优先级大小 Java 线程优先级

java线程优先级大小

Java线程优先级是指在多个线程之间,操作系统决定哪个线程先执行的一个重要因素。Java中的优先级从1到10,其中1是最低优先级,10是最高优先级。

当多个同时可运行的任务都在就绪队列中时,操作系统将根据它们的优先权来决定哪个任务应该被执行。如果有多个任务同时处于就绪态,那么操作系统将根据它们的优先权来决定哪个任务应该被执行。如果有多个任务同时处于就绪态,那么操作系统将根据它们的优先权来决定首先被执行哪一个。

// 设定当前运行的Thread对象的优先权 
Thread.currentThread().setPriority(int newPriority); 
// 获取当前运行的Thread对象的优先权 
int priority = Thread.currentThread().getPriority(); 

Java 线程优先级

Java线程教程 - Java线程优先级


所有线程都有优先级。

优先级由1到10之间的整数表示。

优先级为1的线程优先级最低。优先级为10的线程具有最高优先级。

在Thread类中定义了三个常量来表示下表中列出的三个不同的线程优先级。

线程优先级常量整数值
MIN_PRIORITY1
NORM_PRIORITY5
MAX_PRIORITY10

具有较高优先级的线程应该有更多的CPU时间。

线程的优先级只是调度器的一个提示。

Thread类的setPriority()方法为线程设置了新的优先级。

getPriority()方法返回线程的当前优先级。

创建线程时,其优先级设置为创建线程的优先级。

例子

以下代码演示如何设置和获取线程的优先级。

public class Main {
  public static void main(String[] args) {
    Thread t = Thread.currentThread();
    System.out.println("main Thread  Priority:" + t.getPriority());

    Thread t1 = new Thread();
    System.out.println("Thread(t1) Priority:" + t1.getPriority());

    t.setPriority(Thread.MAX_PRIORITY);
    System.out.println("main Thread  Priority:" + t.getPriority());

    Thread t2 = new Thread();
    System.out.println("Thread(t2) Priority:" + t2.getPriority());

    // Change thread t2 priority to minimum
    t2.setPriority(Thread.MIN_PRIORITY);
    System.out.println("Thread(t2) Priority:" + t2.getPriority());
  }
}

上面的代码生成以下结果。



阅读全文
以上是编程学为你收集整理的java线程优先级大小 Java 线程优先级全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部