在生活中:
公交车有一定的优先权,北京市有专用通道, 120、 警车、消防车就更高的优先级别
在java中有优先级别可以从1到10, (优先级越多的,得到的时间片就会越多)
其中1可以用thread.min_priority表示,5可以用thread.norm_priority,10可以用thread.max_priority表示,
获得或设置线程对象的优先级
int getPriority();
void setPriority(int newPriority);
新建一个线程默认的级别是thread.norm_priority。也可以使用setpriority方法改变线程的优先级别,
如t1.setpriority(t2.getpriority + 1)。
public class TestPriority {
public static void main(String args[]){
Thread t1 = new Thread(new T1());
Thread t2 = new Thread(new T2());
t1.setPriority(Thread.NORM_PRIORITY + 3); // 优先给t1 setPriority 设置优先权
t1.start();
t2.start();
}
}
class T1 implements Runnable {
public void run(){
for(int i=0; i<50; i++){
System.out.println("T1:" + i);
}
}
}
class T2 implements Runnable{
public void run(){
for(int i=0; i<50; i++){
System.out.println("------T2:" + i);
}
}
}
运行如下:
线程会互相抢, T2到 20的时候。。 T1就抢了,, 这根机子的速度有关。。