創建線程的兩種方法,及之間的區別

創建線程的第一種:繼承Thread類.

步驟:

1,定義類繼承Thread.

2,複寫Thread類中的run方法.

目的:將自定義代碼存儲在run方法.讓線程運行.

3,創建線程的子類對象.

4,調用線程的start方法,

   該方法兩個作用:啓動線程,調用run方法.


創建線程的第二種方式:實現Runnable接口

步驟:

1,定義類實現Runnable接口

2,覆蓋Runnable接口中的run方法.

  將線程要運行的代碼存放在該run方法中.

3,通過Thread類建立線程的對象.

4,Runnable接口的子類對象作爲實際參數傳遞給Thread類的構造函數.

   爲什麼要將Runnable接口的子類對象傳遞給Thread的構造函數.

   因爲,自定義的run方法所屬的對象是Runnable接口的子類對象.

   所以要讓線程去執行指定對象的run方法.就必須明確該run方法所屬對象.

5,調用Thread類的start方法開啓線程並調用Runnable接口子類的run方法.

實現方式和繼承方式的區別

1,繼承方式的代碼比較簡單.( 在沒有父類時,使用繼承方式.)

實現方式好處:避免了單繼承的侷限性.

在定義線程時,建議使用實現方式.

 

2,存放代碼位置不一樣

繼承Thread:線程代碼存放Thread子類的run方法中.

實現Runnable,線程代碼存在接口的子類的run方法中.


發佈了35 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章