多線程優(yōu)先級的代碼
/*
?* 線程的優(yōu)先級,優(yōu)先級的取值范圍是數(shù)字1-10
?* 在API里面提供了3個常量供我們操作
?* 1.NORM_PRIORITY? 所有線程默認(rèn)是5
?* 2.MIN_PRIORITY???? 1
?* 3.MAX_PRIORITY??? 10
?* 優(yōu)先級代表的是概率事件,不代表絕對的先后順序
?*/
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");
?? ??? ?//設(shè)置優(yōu)先級一定要在啟動之前
?? ??? ?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();//禮讓一下還會發(fā)送改變
?? ??? ?
?? ?}
?? ?
}
標(biāo)簽: