1、概述:
多线程的执行时抢占式执行,人为不能绝对控制线程的执行顺序,在开发的时候有些线程需要尽量的靠前执行,人为可以采用手段去影响线程执行顺序,这种手段成为是线程优先级的设定。(优先级的设定只能保证线程尽量的执行)
2、setPriority(int p):
设定线程的优先级
参数p:是一个数字,数字越大优先级越高【数字范围:1-10】
线程默认的优先级是5
3、有三个优先级常量:
(通过Thread使用)
MAX_PRIORITY 值为 10
NORM_PRIORITY 值是 5
MIN_PRIORITY 值为 1
代码示例:
public class PriorityDemo {
public static void main(String[] args) {
//创建内部类线程对象
Thread t1 = new Thread() {
@Override
public void run() {
System.out.println("哈哈哈哈哈");
}
};
Thread t2 = new Thread() {
@Override
public void run() {
System.out.println("嘿嘿嘿嘿嘿嘿嘿");
}
};
// 设置优先级 【尽量优先执行】
// t1.setPriority(10);
// t2.setPriority(1);
t1.setPriority(Thread.MAX_PRIORITY);
t2.setPriority(Thread.MIN_PRIORITY);
System.out.println(t1);
System.out.println(t2);
//开启线程
t1.start();
t2.start();
}
}