建立執行緒有幾種方式

2021-10-02 17:16:17 字數 473 閱讀 1778

程式中,我們經常需要使用到執行緒來幫我們做事情,那麼建立執行緒有哪些方式呢?

1.繼承 thread 類,並且重寫 run() 方法。

2.實現 runnable 介面,並且重寫 run() 方法。

3.實現 callable 介面,並且重寫 call() 方法。

4.使用 executors 類建立執行緒池。

第一種方式直接呼叫 start() 方法即可。

第二種方式需要 thread 類包裝後呼叫 start() 方法或者使用放入執行緒池呼叫。

第三種方式需要 futuretask 類包裝後使用第二種方式,此執行緒有返回值,通過 futuretask 類獲取。

一般使用第二種方式:

1.因為實現 runnable 介面可以多現實,而繼承 thread 類後就無法繼承其他類。

2.解耦合,把執行緒物件和執行緒任務解耦。

如需執行緒中加入返回值,則使用第三種 callable 方式。

建立執行緒有幾種方式

thread 類本質上是實現了 runnable 介面的乙個例項,代表乙個執行緒的例項。啟動線 程的唯一方法就是通過 thread 類的 start 例項方法。start 方法是乙個 native 方 法,它將啟動乙個新執行緒,並執行 run 方法。如果自己的類已經 extends 另乙個類,就無法...

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

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

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

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