建立執行緒有幾種方式

2021-10-09 15:27:34 字數 1262 閱讀 7248

thread 類本質上是實現了 runnable 介面的乙個例項,代表乙個執行緒的例項。啟動線 程的唯一方法就是通過 thread 類的 start()例項方法。start()方法是乙個 native 方 法,它將啟動乙個新執行緒,並執行 run()方法。

如果自己的類已經 extends 另乙個類,就無法直接 extends thread,此時,可以實現 乙個 runnable 介面。

callabled 介面有點兒像是 runnable 介面的增強版,它以 call()方法作為執行緒執行體, call()方法比 run()方法功能更強大。

call()方法可以有返回值,可以宣告丟擲異常類。

獲取 call()方法裡的返回值: 通過 futuretask 類(實現 future 介面)的例項物件的 get()方法得到,得到結果型別與建立 tuturetask 類給的泛型一致。

**具體**實現**

1.定義實現 callable 介面的實現類,並實現 call()方法。注意:callable 有泛型限 制,與返回值型別一致。這裡是 integer public class thirdthread implements callable

2.再建立 callable 實現類的例項 tt。 thirdthread tt = new thirdthread();

3.使用 futuretask 類包裝 callable 的例項 tt。 futuretasktas= new futuretask(tt);//注意:泛型限制與返 回結果一致。

4.以 futuretask 物件(task)作為 thread 的 target 來建立執行緒,並啟動。 new thread(task, "執行緒").start();

5.呼叫 futuretask 物件(task)的 get()方法獲得返回值 integer result = task.get();//會有異常

建立執行緒有幾種方式

程式中,我們經常需要使用到執行緒來幫我們做事情,那麼建立執行緒有哪些方式呢?1.繼承 thread 類,並且重寫 run 方法。2.實現 runnable 介面,並且重寫 run 方法。3.實現 callable 介面,並且重寫 call 方法。4.使用 executors 類建立執行緒池。第一種方...

建立執行緒的方式 執行緒建立到底有幾種方式?

在網上搜尋執行緒建立的集中方式,大約都是多的三種或者四種,我們看下jdk的原始碼怎麼說的?原始碼中說的建立執行緒有兩種方式類thread和介面runable 網上第三種 實現callable介面,結合futuretask建立執行緒,這種方式我們檢視原始碼也可以看出它實際上也屬於實現runable介面...

建立執行緒有幾種不同的方式?

繼承thread類 真正意義上的執行緒類 是runnable介面的實現。實現runnable介面,並重寫裡面的run方法。使用executor框架建立執行緒池。executor框架是juc裡提供的執行緒池的實現。呼叫執行緒的start 啟動此執行緒 呼叫相應的run 方法 繼承於thread類的執行...