糯米文學吧

位置:首頁 > 計算機 > java語言

Java建立執行緒的三種方法

java語言3.08W

導語:編寫多執行緒程式是為了實現多工的併發執行,從而能夠更好地與使用者互動。下面是Java建立執行緒的三種方法,一起來學習下吧:

Java建立執行緒的三種方法

 Runnable和Callable的區別

(1)Callable規定的方法是call(),Runnable規定的方法是run().

(2)Callable的任務執行後可返回值,而Runnable的任務是不能返回值得

(3)call方法可以丟擲異常,run方法不可以

(4)執行Callable任務可以拿到一個Future物件,表示非同步計算的結果。它提供了檢查計算是否完成的方法,以等待計算的完成,並檢索計算的結果。通過Future物件可以瞭解任務執行情況,可取消任務的`執行,還可獲取執行結果。

 通過實現Runnable介面來建立Thread執行緒:

  步驟1:建立實現Runnable介面的類:

Java程式碼:

class SomeRunnable implements Runnable

{

public void run()

{

//do something here

}

}

 步驟2:建立一個類物件:

Runnable oneRunnable = new SomeRunnable();

 步驟3:由Runnable建立一個Thread物件:

Thread oneThread = new Thread(oneRunnable);

  步驟4:啟動執行緒:

t();

至此,一個執行緒就建立完成了。

註釋:執行緒的執行流程很簡單,當執行程式碼t();時,就會執行oneRunnable物件中的void run();方法,

該方法執行完成後,執行緒就消亡了。

  通過實現Callable介面來建立Thread執行緒:

與方法1類似,通過實現Callable介面來建立Thread執行緒:其中,Callable介面(也只有一個方法)定義如下:

Java程式碼:

public interface Callable

{

V call() throws Exception;

}

 步驟1:建立實現Callable介面的類SomeCallable(略);

  步驟2:建立一個類物件:

Callable oneCallable = new SomeCallable();

  步驟3:由Callable建立一個FutureTask物件:

FutureTask oneTask = new FutureTask(oneCallable);

註釋:FutureTask是一個包裝器,它通過接受Callable來建立,它同時實現了

Future和Runnable介面。

 步驟4:由FutureTask建立一個Thread物件:

Thread oneThread = new Thread(oneTask);

 步驟5:啟動執行緒:

t();

至此,一個執行緒就建立完成了。

 通過繼承Thread類來建立一個執行緒:

 步驟1:定義一個繼承Thread類的子類:

Java程式碼:

class SomeThead extends Thraad

{

public void run()

{

//do something here

}

}

步驟2:構造子類的一個物件:

SomeThread oneThread = new SomeThread();

 步驟3:啟動執行緒:

t();

至此,一個執行緒就建立完成了。

標籤:JAVA 執行緒