1. 程式人生 > 實用技巧 >Java多型

Java多型

執行緒的基本狀態

新建狀態(New)

就緒狀態(Runnable)

執行狀態(Running)

阻塞狀態(Blocked)

1.等待阻塞:執行中執行wait()方法

2.同步阻塞:執行緒在獲取synchronized同步鎖失敗(因為鎖被其它執行緒所佔用)

3.其他阻塞: 通過呼叫執行緒的sleep()或join()或發出了I/O請求時,執行緒會進入到阻塞狀態。當sleep()超時、join()等待執行緒終止或超時、或者I/O處理完畢時,轉入就緒狀態。

死亡狀態(Dead)

執行緒建立

1、繼承Thread類

class 類名 extends Thread{
方法1;
方法2;
…
public
void run(){ // other code… } 屬性1; 屬性2; … }

2、實現Runable介面

class 類名 implements Runnable{
方法1;
方法2;
…
public void run(){
// other code…
}
屬性1;
屬性2;
…
 
}

實現Runnable介面比繼承Thread類所具有的優勢:

1):適合多個相同的程式程式碼的執行緒去處理同一個資源

2):可以避免java中的單繼承的限制

3):增加程式的健壯性,程式碼可以被多個執行緒共享,程式碼和資料獨立。

java中,每次程式執行至少啟動2個執行緒。一個是main執行緒,一個是垃圾收集執行緒。因為每當使用java

命令執行一個類的時候,實際上都會啟動一個JVM,每一個jVM實習在就是在作業系統中啟動了一個程序。