7.线程优先级
所谓的优先级是越高的优先级,越有可能先执行。在Thread里面提供如下方法:
- 设置优先级:public final void setPriority(int newPriority)
- 取得优先级:public final int getPriority()
发现设置和取得优先级都是使用int数据类型,对此有三种取值:
- 最高优先级:public final static int MAX_PRIORITY = 10;
- 中等优先级:public final static int NORM_PRIORITY = 5;
- 最低优先级:public final static int MIN_PRIORITY = 1;
代码如下:
public class TestSleep implements Runnable{
@Override
public void run() {
for(int i=0;i<10;i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.print("购物,mony = " + Thread.currentThread().getName());
}
}
}
class MySleep{
public static void main(String[] args) {
TestSleep testSleep = new TestSleep();
Thread t1 = new Thread(testSleep,"A");
Thread t2 = new Thread(testSleep,"B");
Thread t3 = new Thread(testSleep,"C");
t1.setPriority(Thread.MAX_PRIORITY);
t1.start();
t2.start();
t3.start();
}
}
注意:设置优先级可能先执行,不是必须的