Thread类代表了Java线程类,多个线程在排队队列等待执行时机会是相等的,Thead类提供了setPriority(int priority)方法来设置线程对象的优先级,参数是1-10之间的整数,如果超过这个范围则抛出非法参数异常:IllegalArgumentException。
Thread类提供了三个常量:
pubic static final intMAX_PRIORITY=10; 代表最高优先级
pubic static final intThread.MIN_PRIORITY=1 代表最低优先级
pubic static final intThread.NORM_PRIORITY=5默认优先级
Thread类对象的默认线程的优先是5。
示例代码:
classMyThreadextendsThread{
privateStringstr;
privateintcount;
publicMyThread(Stringstr,intcount){
this.str=str;
this.count=count;
}
@Override
publicvoidrun() {
for(inti=0;i
System.out.println(str);
}
}
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
Threadt1=newMyThread("AAAAAAA",100);
Threadt2=newMyThread("BBBBBBB",100);
t1.setPriority(10);
t2.setPriority(1);
t1.start();
t2.start();
}
}
观察运行结果可以发现t1线程优先线t2结束。