有三種:(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物件可了解任務執**況,可取消任務的執行,還可獲取任務執行的結果
java多執行緒建立的三種方式
如果用加鎖的多執行緒,最好使用redis的分布式鎖代替 加鎖的多執行緒非常影響效能,可能會導致伺服器卡死,宕機 1.繼承thread 無返回值 第一步 繼承thread public class person extends thread catch interruptedexception e f...
JAVA多執行緒(一) 建立執行緒的三種方式
程式 program,是乙個靜態概念 指令集 程序 process,是乙個動態概念 由作業系統排程程式 執行緒 thread,是程序中乙個 單一的連續控制流程 在程序內多條執行路徑 是乙個輕量級的執行緒 一 繼承至thread,重寫run 方法 使用執行緒 1.建立子類物件 2.呼叫start 方法...
java執行緒建立的三種方式 以及多執行緒例子
1 定義thread類的子類,並重寫該類的run方法,該run方法的方法體就代表了執行緒要完成的任務。因此把run 方法稱為執行體。2 建立thread子類的例項,即建立了執行緒物件。3 呼叫執行緒物件的start 方法來啟動該執行緒。參考 例子1 銀行訪問錢問題 例子2 生產者與消費者問題 例子3...