建立執行緒的方式

2022-03-17 09:50:14 字數 1602 閱讀 1368

一、建立執行緒的第一種方式:

繼承thread ,由子類複寫run方法。

步驟:1,定義類繼承thread類;

2,目的是複寫run方法,將要讓執行緒執行的**都儲存到run方法中;

3,通過建立thread類的子類物件,建立執行緒物件;

4,呼叫執行緒的start方法,開啟執行緒,並執行run方法。

public

class threaddemo extends

thread

public

static

void

main(string args)

}

二、建立執行緒的第二種方式:

實現乙個介面runnable。

步驟:1,定義類實現runnable介面。

2,覆蓋介面中的run方法(用於封裝執行緒要執行的**)。

3,通過thread類建立執行緒物件;

4,將實現了runnable介面的子類物件作為實際引數傳遞給thread類中的建構函式。

為什麼要傳遞呢?因為要讓執行緒物件明確要執行的run方法所屬的物件。

5,呼叫thread物件的start方法。開啟執行緒,並執行runnable介面子類中的run方法。

public

class

runabletest

}class runabledemo implements

runnable

}

三、建立執行緒的第三種方式:

實現乙個介面callable

步驟:1,定義類實現callable介面。

2,覆蓋介面中的call方法(用於封裝執行緒要執行的**)。

3,通過futuretask來建立物件,用於接收運算結果;

4,將實現了callable介面的子類物件作為實際引數傳遞給futuretask類中的建構函式;

5,通過thread類建立執行緒物件;

6,將futuretask物件作為實際引數傳遞給thread類中的建構函式;

7,呼叫thread物件的start方法。開啟執行緒,並執行callable介面子類中的call方法;

8,通過future物件的get方法獲取結果。

/**

* 1、建立線程式三:實現callable介面。相較於runnable介面的方式,方法可以有返回值,並且可以丟擲異常。

2、執行callable方式,需要futuretask實現類的支援,用於接收運算結果。futuretask是runnablefuture介面的實現類,

runnablefuture介面繼承了runnable, future介面

3.futeretask也可用於閉鎖操作

*/public class callabletest

}class callabledemo implements callable

return sum;

}}

四、建立執行緒的第四種方式:執行緒池

建立執行緒的方式

thread 類進行派生並覆蓋 run方法 實現runnable介面建立 public class createthread start0會呼叫run方法,如果runnable null 會執行run方法,2.如果在構造thread的時候沒有傳遞或沒有複寫thread的run方法,該thread將不...

執行緒的建立方式

繼承thread類實現 實現runnable介面方式 實現callable介面方式 其中前兩種比較常用。但是,需要有返回值需要實現callable介面。繼承thread類,並重寫run方法 public class mythread extends thread mythread thread ne...

建立執行緒的方式

建立乙個執行緒主要有以下幾種方法 繼承thread類建立執行緒 是將乙個類宣告為thread的子類,這個子類應該重寫thread類的run方法,然後例項化這個子類物件並呼叫start方法。thread類本質上是實現了runnable介面的乙個例項。public class testthread ex...