多线程优先级的代码
/*
* 线程的优先级,优先级的取值范围是数字1-10
* 在API里面提供了3个常量供我们操作
* 1.NORM_PRIORITY 所有线程默认是5
* 2.MIN_PRIORITY 1
* 3.MAX_PRIORITY 10
* 优先级代表的是概率事件,不代表绝对的先后顺序
*/
public class PriorityTest {
public static void main(String[] args) {
// System.out.println(Thread.currentThread().getPriority());
Test t=new Test();
Thread t1=new Thread(t,"1");
Thread t2=new Thread(t,"2");
Thread t3=new Thread(t,"3");
Thread t4=new Thread(t,"4");
Thread t5=new Thread(t,"5");
Thread t6=new Thread(t,"6");
//设置优先级一定要在启动之前
t1.setPriority(Thread.MAX_PRIORITY);
t2.setPriority(Thread.MAX_PRIORITY);
t3.setPriority(Thread.MIN_PRIORITY);
t4.setPriority(Thread.MIN_PRIORITY);
t5.setPriority(Thread.MIN_PRIORITY);
t6.setPriority(Thread.MIN_PRIORITY);
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
}
}
class Test implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
// Thread.yield();//礼让一下还会发送改变
}
}