- 线程优先级
Thread中几个优先级常量 及说明:
Thread.MAX_PRIORITY,Thread.MIN_PRIORITY,Thread.NORM_PRIORITY对应数值 10,1,5
线程总共有1到10个优先级值,创建线程时默认优先级为5,可以通过优先级有关静态方式
修改其优先级。
下面通过简单实例演示
public class ThreadDemo6 {
public static void main(String[] args) {
Thread max = new Thread(){
@Override
public void run() {
for(int i=0;i<1000;i++){
System.out.println("max");
}
}
};
Thread min = new Thread(){
@Override
public void run() {
for(int i=0;i<1000;i++){
System.out.println("min");
}
}
};
Thread norm = new Thread(){
@Override
public void run() {
for(int i=0;i<1000;i++){
System.out.println("norm");
}
}
};
max.setPriority(Thread.MAX_PRIORITY);
min.setPriority(Thread.MIN_PRIORITY);
min.start();
norm.start();
max.start();
}
}
总结说明:
* 线程优先级
* 线程不能涉及线程调度的工作,线程不能要时间片,
* 只能被动的被分配,并且分配给哪个线程也是不可控的.
* 改变线程的优先级可以改变时间片分配几率.
* 理论上,线程优先级高的线程获取CPU时间片的次数多.