建立執行緒的兩種方式

2021-09-28 14:35:37 字數 842 閱讀 4174

一、繼承thread類

public class mythead extends thead 

@override

public void run()

}}public class demo01

}}

二、實現runnable介面

public class myrunnable implements runnable

}}public class demo02

}}

實現runnable的原理:

為什麼需要定乙個類去實現runnable介面呢?繼承thread類和實現runnable介面有啥區別呢?

實現runnable介面,避免了繼承thread類的單繼承侷限性。覆蓋runnable介面中的run方法,將執行緒任務**定義到run方法中。

建立thread類的物件,只有建立thread類的物件才可以建立執行緒。執行緒任務已被封裝到runnable介面的run方法中,而這個run方法所屬於runnable介面的子類物件,所以將這個子類物件作為引數傳遞給thread的建構函式,這樣,執行緒物件建立時就可以明確要執行的執行緒的任務。

實現runnable的好處:

第二種方式實現runnable介面避免了單繼承的侷限性,所以較為常用。實現runnable介面的方式,更加的符合物件導向,執行緒分為兩部分,一部分執行緒物件,一部分執行緒任務。繼承thread類,執行緒物件和執行緒任務耦合在一起。一旦建立thread類的子類物件,既是執行緒物件,有又有執行緒任務。實現runnable介面,將執行緒任務單獨分離出來封裝成物件,型別就是runnable介面型別。runnable介面對執行緒物件和執行緒任務進行解耦。

執行緒建立的兩種方式

建立執行緒的兩種方式 1.繼承thread並重寫方法,在run方法中定義執行緒要執行的任務 class mythread extends thread public class threaddemo1 2.實現runable介面並重寫run方法 class myrunnable implements...

建立執行緒的兩種方式

thread thread new thread catch interruptedexception e system.out.println thread.currentthread getname system.out.println this.getname thread.start thr...

建立執行緒的兩種方式

將執行緒任務實現runnable介面 class a implements runnable run system.out.println 執行緒任務 將實現runnable介面的類的物件作為引數傳遞給執行緒物件 class b public static void main string args...