线程优先级确定相对于其他线程应如何对待线程。
多个线程同时执行。每个线程都有一些优先级。
线程调度程序根据线程优先级确定哪个线程将最先执行。
线程优先级的有效范围是1到10(即1,2,3,4 ..... 10。),1是最小优先级,10是最大优先级。
我们还可以用常量表示线程优先级。基本上,我们有三种类型的常量,例如MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY。
语法:
Thread.MIN_PRIORITY Thread.NORM_PRIORITY Thread.MAX_PRIORITY
每个线程都有一定的优先级,并且可以由JVM或用户定义(即如果用户未定义,则JVM将设置默认优先级)。
具有高优先级的线程将首先获得执行的机会,而具有相同优先级的线程则将无法获得任何线程获得机会的确切执行顺序。
我们如何设置线程的优先级,我们将在下面的示例中看到这一点,
1)通过setPriority(int p):
示例
class SetPriority{ public static void main(String[] args){ System.out.println("Before setting Priority of Main thread is " + Thread.currentThread().getPriority()); Thread.currentThread().setPriority(6); System.out.println(" After setting Priority of Main thread is " + Thread.currentThread().getPriority()); } }
输出结果
D:\Java Articles>java SetPriority Before setting Priority of Main thread is 5 After setting Priority of Main thread is 6
我们如何获得线程优先级?我们将在以下示例中看到...
2)通过getPriority():
示例
class GetPriority{ public static void main(String[] args){ System.out.println("Priority of Main thread is " + Thread.currentThread().getPriority()); } }
输出结果
D:\Java Articles>java GetPriority Priority of Main thread is 5