线程优先级

每一个 Java 线程都有一个优先级,这样有助于操作系统确定线程的调度顺序。

Java 线程的优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。

默认情况下,每一个线程都会分配一个优先级 NORM_PRIORITY(5)。

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

具有较高优先级的线程对程序更重要,并且应该在低优先级的线程之前分配处理器资源。但是,线程优先级不能保证线程执行的顺序,而且非常依赖于平台。

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

线程优先级常量 整数值
MIN_PRIORITY 1
NORM_PRIORITY 5
MAX_PRIORITY 10

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

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

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

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

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

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress