實現執行緒的三種方式

2021-10-09 01:18:34 字數 1734 閱讀 2936

1.繼承thread方法

第一步 建立乙個thread類的子類

第二步 在thread的子類中重寫run方法,設定執行緒任務(執行緒開啟要幹什麼)

第三步 建立thread類的子類物件

第四步 呼叫thread類中的方法start方法,執行run方法

public

class

mythread01

extends

thread

}

public

class

demo01thread

}執行結果:

thread-0--

>

0thread-0--

>

1thread-0--

>

2thread-0--

>

3thread-0--

>

4thread-0--

>

5thread-0--

>

6thread-0--

>

7thread-0--

>

8thread-0--

>

9

2.實現runnable介面

第一步 建立乙個runnable類的實現類

第二步 在實現類中重寫runnable介面的run方法,設定執行緒任務(執行緒開啟要幹什麼)

第三步 建立runnable介面的實現類物件

第四步 建立thread類物件,構造方法中傳遞runnable介面的實現類物件

第五步 呼叫thread類中的start方法,開啟新執行緒執行run方法

//1.建立乙個runable解口的實現類

public

class

runnableimpl

implements

runnable

}}

實現類

public

class

demo02thread

}執行結果:

thread-0--

>

0thread-1--

>

0thread-0--

>

1thread-1--

>

1thread-0--

>

2thread-1--

>

2thread-0--

>

3thread-1--

>

3thread-0--

>

4thread-1--

>

4

3.實現callable介面和future建立執行緒

建立callable介面的實現類callablethread,實現call()方法,並且有返回值。callable介面是乙個帶泛型的介面,泛型的型別就是執行緒返回值的型別。實現callable介面中的call()方法,方法的返回型別與泛型的型別相同。

public

class

main);

newthread

(task,

"有返回值的執行緒").

start()

;//實質上還是以callable物件來建立並啟動執行緒

trycatch

(exception e)

}}

實現執行緒的三種方式

第一種 編寫乙個類直接繼承thread類,重寫run 方法,再使用其new物件即可。mythread類繼承thread class mythread extends thread 使用mythread建立執行緒 thread t1 newmythread 第二種 實現runnable介面,重寫run...

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

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

執行緒 三種方式 建立執行緒

第一種 1 模擬龜兔賽跑 繼承thread 重寫run 執行緒體 2 使用執行緒 建立子類物件 物件.strat 執行緒啟動 author administrator public class rabbits extends thread class tortoise extends thread ...