注意:這只說明最常見的三種實現方式,並不說明執行緒池.
public class threadtest
}class mythread extends thread
}}
為什麼要重寫run()方法?
因為run方法是用來封裝被執行緒執行的**run()方法和start()方法的區別
run():封裝執行緒執行的**,直接呼叫,相當於普通方法的呼叫,並沒有開啟執行緒start():啟動執行緒;然後由jvm呼叫此執行緒的run方法
public class myrunnabletest
}class myrunnable implements runnable
}}
*在呼叫get()方法,就可以獲取執行緒結束後的結果
public class mycallabletest
}//這裡的callable是泛型,裡面指定string是設定的返回值型別為string
class mycallable implements callable
return "ok";
}}
-
優點缺點
實現runnable,callable介面
擴充套件性強,實現該介面的同時還可以繼承其他的類
程式設計相對複雜,不能直接使用thread類中的方法
繼承thread類
程式設計比較簡單,可以直接使用thread類中的方法
可擴充套件性較差,不能繼承其他類
java多執行緒三種方式
有三種 1 繼承thread類,重寫run函式 建立 class xx extends thread 開啟執行緒 物件.start 啟動執行緒,run函式執行 2 實現runnable介面,重寫run函式 開啟執行緒 thread t new thread 物件 建立執行緒物件 t.start 3 ...
多執行緒的三種實現方式及比較
編寫多執行緒程式是為了實現多工的併發執行,從而能夠更好地與使用者互動。一般有三種方法,thread,runnable,callable.runnable和callable的區別是,1 callable規定的方法是call runnable規定的方法是run 2 callable的任務執行後可返回值,...
建立多執行緒的三種方式
首先需要理解清楚程式 程序 執行緒 程式 即靜態的 塊 程序 執行中的程序 執行緒 程序的進一部細分,程式的一條執行路徑 第一種 建立乙個類繼承thread,並重寫run 方法 第一種方法 建立乙個繼承thread的子類 class subthread extends thread public c...