优先级高的被调用的概率大,但不是绝对的。
package com.sxt.io2;
public class PriorityTest {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getPriority());//5
Thread t1=new Thread(new MyPriority(),"aa");//5
t1.start();
Thread t2=new Thread(new MyPriority(),"bb");
Thread t3=new Thread(new MyPriority(),"cc");
Thread t4=new Thread(new MyPriority(),"dd");
Thread t5=new Thread(new MyPriority(),"ee");
Thread t6=new Thread(new MyPriority(),"ff");
Thread t7=new Thread(new MyPriority(),"gg");
t2.setPriority(10);
t3.setPriority(10);
t4.setPriority(10);
t5.setPriority(1);
t6.setPriority(1);
t7.setPriority(1);
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
t7.start();
}
}
class MyPriority implements Runnable{
@Override
public void run() {
Thread.yield();
System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
}
}
问题总结:
所有线程默认优先级都是5