优先级概念
- 线程的优先级可以让线程获得高概率或低概率的cpu调度机会。不是绝对的优先,只是高优先级会被优先调用。
- 优先级为1-10,最低为1,最高为10,默认为5。可以自行设置值。
- 设置优先级必需在线程start()之前。
- Thread类的优先级常量
- MAX_PRIORITY 10
- MIN_PRIORITY 1
- NORM_PRIORITY 5 默认优先级
演示
/**
* 线程优先级
* @author UID
*
*/
public class Demo04_PRIORITY {
public static void main(String[] args) {
F f = new F();
Thread t1 = new Thread(f,"线程1");
Thread t2 = new Thread(f,"线程2");
Thread t3 = new Thread(f,"线程3");
t1.setPriority(Thread.MAX_PRIORITY);//设置为最大优先级
t3.setPriority(Thread.MIN_PRIORITY);
t2.setPriority(3);//自定义优先级
t1.start();
t2.start();
t3.start();
}
}
class F extends Thread{
@Override
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(Thread.currentThread().getName()+"-->"+i);
}
}
}