java多執行緒都有幾種方式實現

2021-06-20 17:27:41 字數 644 閱讀 3818

有三種:

(1)繼承thread類,重寫run函式

建立:class xx extends thread}

開啟執行緒:

物件.start() //啟動執行緒,run函式執行

(2)實現runnable介面,重寫run函式

開啟執行緒:

thread t = new thread(物件) //建立執行緒物件

t.start()

(3)實現callable介面,重寫call函式

callable是類似於runnable的介面,實現callable介面的類和實現runnable的類都是可被其它執行緒執行的任務。

callable和runnable有幾點不同:

①callable規定的方法是call(),而runnable規定的方法是run().

②callable的任務執行後可返回值,而runnable的任務是不能返回值的

③call()方法可丟擲異常,而run()方法是不能丟擲異常的。

④執行callable任務可拿到乙個future物件,future表示非同步計算的結果。它提供了檢查計算是否完成的方法,以等

待計算的完成,並檢索計算的結果.通過future物件可了解任務執**況,可取消任務的執行,還可獲取任務執行的結果

多執行緒 實現多執行緒的幾種方式

public class mythread extends thread mythread mythread1 newmythread mythread mythread2 newmythread mythread1.start mythread2.start public class mythre...

多執行緒的幾種實現方式

前面兩種可以歸結為一類 無返回值,原因很簡單,通過重寫run方法,run方式的返回值是void,所以沒有辦法返回結果 後面兩種可以歸結成一類 有返回值,通過callable介面,就要實現call方法,這個方法的返回值是object,所以返回的結果可以放在object物件中 方式1 繼承thread類...

多執行緒實現的幾種方式

public static void main string args thread1 start public class calandfuture catch interruptedexception e class mytask implements callable 通過執行緒池建立執行緒 ...