Java为线程类提供了是个优先级
优先级可以用整数1-10表示,超过范围会抛出异常
主线程默认优先级为5
优先级常量
MAX_PRUORITY:线程的最高优先级10
MIN_PRUORITY:线程的最高优先级1
NORM_PRUORITY:线程的默认优先级5
优先级的相关方法:
public int getPriority() 获取线程优先级
public void setPriority(int newPriority) 设置线程优先级
package Threadproj;
class MyThread3 extends Thread {
private String name;
public MyThread3(String name) {
this.name = name;
}
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("线程" + name + "正在执行");
}
}
public class PriorityDemo {
public static void main(String[] args) {
// 获取主线程优先级
int mainPriority = Thread.currentThread().getPriority();
System.out.println("主线程的优先级为" + mainPriority);
MyThread3 m1 = new MyThread3("线程1");
MyThread3 m2 = new MyThread3("线程2");
m1.setPriority(10);
m2.setPriority(1);
m1.start();
m2.start();
System.out.println("线程1的优先级为" + m1.getPriority());
System.out.println("线程2的优先级为" + m2.getPriority());
System.out.println("主线程正在执行");
}
}
线程优先级高的先执行,但是还与启动的顺序有关