javaSE基礎26之執行緒

2021-08-17 06:20:13 字數 2643 閱讀 1329

定義:同時對多項任務加以控制

public class music extends thread catch (interruptedexception ex) }}

}public class eat extends thread catch (interruptedexception ex) }}

public class demo1

}public static void eat()

}public static void main(string args)

}1,繼承thread類

public class thread1 extends thread

public void run() catch (interruptedexception ex) }}

public static void main(string args)

}2,實現

runnable

介面public class thread2 implements runnable

public synchronized void run() catch (interruptedexception ex) }}

public static void main(string args)

}程序狀態轉換圖

1,建立狀態

在程式中用構造方法建立乙個執行緒物件後,新的執行緒物件便處於新建狀態,此時,它已經有了相應的記憶體空間和其他資源,但還處於不可執行狀態。新建乙個執行緒物件可採用thread類的構造方法來實現,例如「

thread thread=new thread();

」。2,就緒狀態

新建執行緒物件後,呼叫的該執行緒的start()方法就可以啟動執行緒。當執行緒啟動時,執行緒進入就緒狀態。此時,執行緒將進入執行緒佇列排隊,等待

cpu服務,這表明它已具備執行條件。

3,執行狀態

當就緒狀態的執行緒被呼叫並獲得處理器資源時,執行緒就進入了執行狀態。此時,自動呼叫該執行緒物件的run()方法。

run()

方法定義了該執行緒的操作和功能。

4,堵塞狀態

乙個正在執行的執行緒在某些特殊情況下,如被人為掛起或需要執行耗時的輸入/輸出操時,將讓出

cpu並暫時中止自己的執行,進入堵塞狀態。堵塞時,執行緒不能進入排隊佇列,只有當被引起堵塞的原因被消除後,執行緒才可以轉入就緒狀態。

5,死亡狀態

執行緒呼叫stop()方法或

run()

方法執行結束後,即處於死亡狀態。處於死亡狀態的執行緒不具有繼續執行的能力

1,getname() 返回該執行緒的名稱

2,currentthread() 返回對當前正在執行的執行緒物件的引用

3,isalive() 測試執行緒是否處於活躍狀態

4,sleep() 執行緒休眠

5,setpriority(int newpriority) 更改執行緒的優先順序

6,yield() 暫停當前正在執行的執行緒物件,並執行其他執行緒

public class demo implements runnable catch (interruptedexception ex) }}

/*** @param args the command line arguments

*/public static void main(string args) }》

public class demo2 implements runnable catch (interruptedexception ex) }}

public static void main(string args) }》

public class demo3 implements runnable catch (interruptedexception ex) }}

/*** @param args the command line arguments

*/public static void main(string args) }》

public class demo4 implements runnable catch (interruptedexception ex) }}

/*** @param args the command line arguments

*/public static void main(string args) }》

public class demo5 implements runnable

} catch (interruptedexception ex) }}

/*** @param args the command line arguments

*/public static void main(string args)

}1,同步方法

2,同步鎖

public class demo implements runnable

}public static void main(string args) }》

public class demo2 implements runnable}}

public static void main(string args)

}

JAVA SE 執行緒基礎操作

構造方法 獲取資訊 獲取物件 獲取狀態 修改資訊 修改狀態 例項 main函式的對應main執行緒 public class test 例項 計算大於某一規定值的質數的執行緒 繼承thread類 class primethread extends thread 重寫run方法 public void...

基礎題之javaSE

物件導向主要的特徵有四個 抽象,繼承,封裝,多型.1.抽象 簡單說就是抽取物件的共性,就一類物件來說,它們可能有多種多樣,但它們之間還有些共性的東西,就是將這些共性抽取,並總結到一起.抽象抽取了物件的固有屬性和行為屬性兩種.用人做例子,固有屬性就是想肉體上的所有特徵,行為屬性就是這個肉體能做到的各種...

javaSe 執行緒練習

1 編寫兩個執行緒,乙個執行緒列印1 52的整數,另乙個執行緒列印字母a z。列印順序為12a34b56c 5152z。即按照整數和字母的順序從小到大列印,並且每列印兩個整數後,列印乙個字母,交替迴圈列印,直到列印到整數52和字母z結束 test junit測試 public void print ...