常用的三種多執行緒實現及啟動方式

2021-10-21 04:54:12 字數 836 閱讀 7970

繼承thread類的方式,由於以及繼承了父類thread,無法再繼承其他的類。

實現runnable介面的方式,可以繼承類以及實現其他的介面,但缺點是無法有返回值。

實現callable介面的方式,可以通過指定介面的泛型以及覆寫call介面,實現有返回值的執行緒任務。

class

mythread

extends

thread

}class

runtask

implements

runnable

}class

calltask

implements

callable

}

啟動方式

本質上都需要建立thread物件,使用該物件的.start()方法進行執行緒啟動。

區別:實現runnable介面需要把實現物件作為引數傳入thread例項化,即thread t1 = new thread(new runtask()) 。

實現callable介面則需要把實現物件作為引數傳入futuretask物件例項化中,並把該futuretask物件傳入thread例項化,即thread t2 = new thread (new futuretask(new calltask())),需要獲取返回值時則呼叫futuretask的.get()方法。

public

class

testdd

catch

(exception e)

system.out.

println

(result);}

}

多執行緒的三種實現方式及比較

編寫多執行緒程式是為了實現多工的併發執行,從而能夠更好地與使用者互動。一般有三種方法,thread,runnable,callable.runnable和callable的區別是,1 callable規定的方法是call runnable規定的方法是run 2 callable的任務執行後可返回值,...

多執行緒常見的三種實現方式

注意 這只說明最常見的三種實現方式,並不說明執行緒池.public class threadtest class mythread extends thread 為什麼要重寫run 方法?因為run方法是用來封裝被執行緒執行的 run 方法和start 方法的區別 run 封裝執行緒執行的 直接呼叫...

java多執行緒三種方式

有三種 1 繼承thread類,重寫run函式 建立 class xx extends thread 開啟執行緒 物件.start 啟動執行緒,run函式執行 2 實現runnable介面,重寫run函式 開啟執行緒 thread t new thread 物件 建立執行緒物件 t.start 3 ...