Posted on 2009-06-02 20:45
啥都寫點(diǎn) 閱讀(202)
評論(0) 編輯 收藏 所屬分類:
J2SE
關(guān)鍵技術(shù):
- Java線程的優(yōu)先級分為10個(gè)級別,數(shù)字越大,級別越高,默認(rèn)為5。
- Thread的setPriority實(shí)例方法為線程設(shè)置優(yōu)先級,參數(shù)為int類型。
- 對于兩個(gè)同時(shí)啟動(dòng)的線程,大多數(shù)情況下優(yōu)先級高的線程會(huì)比優(yōu)先級低的線程先運(yùn)行,當(dāng)也有例外情況,完全取決于Java虛擬機(jī)的調(diào)度。
package book.thread;
public class Priority {
static class MyThread extends Thread{
private int ID = 0;
public MyThread(int id){
this.ID = id;
}
public void run(){
System.out.println("MyThread-" + this.ID +
" begin! Priority: " + this.getPriority());
System.out.println("MyThread-" + this.ID + " end!");
}
}
public static void main(String[] args) {
//建立3個(gè)優(yōu)先級不同的線程
MyThread[] myThreads = new MyThread[3];
for (int i=0; i<3; i++){
myThreads[i] = new MyThread(i+1);
//三個(gè)線程的優(yōu)先級分別是1,4,7
myThreads[i].setPriority(i*3+1);
}
//按優(yōu)先級從低到高啟動(dòng)線程
for (int i=0; i<3; i++){
myThreads[i].start();
}
//先啟動(dòng)的線程不一定先運(yùn)行,虛擬機(jī)會(huì)考慮線程的優(yōu)先級,同等情況下,優(yōu)先級高的線程先運(yùn)行
}
}
--
學(xué)海無涯