有三種:(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 通過執行緒池建立執行緒 ...