許許多多的執行緒都有著它的優先順序,理論上優先順序越高越有可能執行,但不一定執行。thread類中有定義如下處理優先順序的方法:
// 設定優先順序
public final void setpriority(int newpriority) {}
// 獲取優先順序
public final int getpriority() {}
// 最低優先順序,數值為1
public final static int min_priority = 1;
// 中等優先順序,數值為5
public final static int norm_priority = 5;
// 最高優先順序,數值為10
public final static int max_priority = 10;
下面看乙個使用優先順序的例子:
class mythread10 implements runnable catch (interruptedexception e)
system.out.println(thread.currentthread().getname() + "執行, i = " + i);
} }}
public class priority
}
實際執行結果中線程abc的順序依舊是摻雜的,只不過執行緒c先執行的次數會稍微多一點。執行緒優先順序的體現一般在資源緊缺的時候表現的比較明顯。
我們來看看子執行緒和主線程的優先順序:
// 子執行緒的優先順序
class mythread10 implements runnable
}public class priority
}
// 主線程的優先順序
class mythread10 implements runnable
}public class priority
}
可以看出,使用者建立的執行緒和主線程的優先順序是相同的。 執行緒優先順序
執行緒優先順序由執行緒所屬程序的優先順序類 執行緒自身的相對優先級別共同確定,二者組合值作為執行緒的基優先順序。base priority level win32系統中,執行緒基優先順序的範圍從最低優先順序0到最高優先順序31。系統優先順序程式優先順序類別 執行緒優先順序等級 1idle prior...
執行緒優先順序
優先順序是執行緒排程的重要依據。優先順序高的執行緒,永遠先獲得cpu的青睞。當然啦,作業系統會視情況調整各個執行緒的優先順序。例如前台執行緒的優先順序應該調高一些,後台執行緒的優先順序應該調低一些。執行緒的優先順序範圍從0 最低 到31 最高 當你產生執行緒時,並不是直接以數值指定其優先順序,而是採...
執行緒優先順序
知識點 執行緒優先順序 獲取當前執行緒控制代碼 執行緒優先順序設定 執行緒優先順序變動 執行緒優先順序獲取 一 執行緒優先順序 thread priority 簡單的說就是 執行緒 的優先順序越高,那麼就可以分佔相對多的cpu時間片。每個程序都有相應的優先順序,優先順序決定它何時執行和占用 cpu ...