与线程休眠类似,线程的优先级无法保障线程的执行次序,只不过是优先级高的线程获得CPU的概率比较大,而优先级低的线程并不是没有机会执行。
优先级用1-10的整数来进行表示,数值越大的优先级越高,默认情况下,有限级是5。
在一个线程当中开启另外一个新线程,则该新线程成为该线程的子线程。
public class Thread_Priority {
public static void main(String args[]){
//线程1
Thread thread1=new ThreadExtend_Priority();
//线程2
Thread thread2=new Thread(new RunnableImpl_Priority());
//有限级别是10
thread1.setPriority(10);
//有限级别为1
thread2.setPriority(1);
thread1.start();
thread2.start();
}
}
class ThreadExtend_Priority extends Thread{
@Override
public void run() {
try {
for (int i=0;i<10;i++){
System.out.println("线程1第"+i+"次执行");
}
}catch (Exception e){
e.printStackTrace();
}
}
}
class RunnableImpl_Priority implements Runnable{
@Override
public void run() {
try {
for (int i=0;i<10;i++){
System.out.println("线程2第"+i+"次执行");
}
}catch (Exception e){
e.printStackTrace();
}
}
}