Thread和Runnable的區別

2021-09-25 19:41:43 字數 1048 閱讀 7455

乙個程式中想要實現執行緒可以通過繼承thread或者實現runable介面來實現,兩者之間的區別有:

1.繼承只能單繼承而實現可以多實現。

2.thread和runnable是**模式

runnable定義執行緒規範(run()),thread實現執行緒作用(start())。

3.runnable共享資料更方便

例子:使用繼承thread實現執行緒時:

public class test1 extends thread catch (exception e)

system.out.println(「mian」 + i);}}

public static void a()  catch (exception e) 

system.out.println("test:" + i); }}

@override

public void run()

}

此時我們通過test1 thread = new test1();thread.start();來開始執行緒,我們若要開啟多個執行緒便要new 多個test1(),此時便會建立多個num值,呼叫num時就會更加麻煩但是當我們使用實現runnable介面來實現執行緒時:

public class test1 implements runnable catch (exception e)

system.out.println(「mian」 + i);}}

public static void a()  catch (exception e) 

system.out.println("test:" + i); }}

@override

public void run()

}

此時我們要呼叫多執行緒則只需要thread thread = new thread();thread.start();這時我們使用多執行緒時,則不會建立物件,num的值也不會增加,使用num也會更加方便。

因為以上幾點,所以我們在實際編碼中一般使用實現runnable介面來實現多執行緒。

Thread 和 Runnable 的區別

thread 和 runnable 的區別 實際上,thread也是乙個runnable,它實現了runnable介面,在thread類中有乙個runnable型別的target欄位,代表要被執行在這個子執行緒中的任務。public class thread implements runnable ...

Thread和Runnable的區別

runnable比thread要多一些優勢,主要是以下兩點 第一點就不多說了,至於第二點看以下兩個 示例就清楚了 static class ticketthread extends thread public static void main string args 以上是使用thread方式寫的,...

Thread和Runnable執行執行緒

繼承thread類 package l thread建立新執行緒需要重寫run函式,該方法是新執行緒的入口點,也必須呼叫start 方法 本質上還是實現了runnable介面的乙個例項 thread runnable threadob,string threadname threadob 是乙個實現...