package thread;
//通过给不同线程设置不同优先级验证了优先度高的线程会优先得到运行
/*
* 但是根据优先度的差别分配资源的方法,依赖于操作系统和Java虚拟机的实现。不能保证高优先度的线程
* 一定会优先得到运行权,因此在运行顺序不同而会引起混乱的情况下,就不能使用设定优先度的方法来进行
* 多线程调度。
*/
class PriThread extends Thread{
int change;
String value;
PriThread(int change,String value){
this.change=change;
this.value=value;
}
public void run(){
for(int i=0;i<10;i++){
System.out.println(value);
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(i==3){
setPriority(change);
}
}
}
}
class PriExecute {
public static void main(String[] args) {
// TODO Auto-generated method stub
PriThread pt1=new PriThread(1, "A");
PriThread pt2=new PriThread(10, "B");
pt1.setPriority(10);
pt2.setPriority(1);
pt1.start();
pt2.start();
}
}
结果: