java基礎類庫學習(七.3)控制執行緒
阿新 • • 發佈:2018-11-11
前言
執行緒的五個狀態新建/就緒/執行/阻塞/死亡
為了很好的控制執行緒的狀態(新建態,就緒態--執行態控制不了),我們來看一下執行緒物件的幾個方法,也就是Thread的幾個方法
控制執行緒的狀態
1使執行緒處於新建態
執行緒子類 a=new 執行緒子類();
2使執行緒處於就緒態
a.start();
a.yield();//使a執行緒暫停,並進入就緒狀態,使排程器重新排程,使得優先順序更高的執行緒獲得處理機
3使執行緒處於執行態
我們決定不了,得有排程器排程,
4使執行緒處於阻塞態
a.sleep();//使a執行緒暫停一段時間,並進入阻塞狀態
x.join();//a執行緒正在執行,當呼叫到x.join()時,a執行緒會被阻塞,使排程器重新排程,x執行緒會獲得處理機,當x執行緒結束時,a執行緒從阻塞態恢復到就緒態,等待排程器排程
5使執行緒處於死亡態
執行緒執行體正常結束
執行緒丟擲異常/error
a.stop();
後臺執行緒
如果所有的前臺執行緒都死亡,後臺執行緒會自動死亡;後臺執行緒未其他的執行緒提供服務
a.setDaemon(true);//必須線上程啟動之前設定其為後臺執行緒
t.start();
當前臺執行緒死亡後,jvm會通知後臺執行緒死亡
改變執行緒優先順序
main執行緒的優先順序是普通優先順序,每個執行緒的預設的優先順序都與建立他的父執行緒的優先順序相同
setPriority();