Thread和Runnable的子類呼叫

2021-08-05 21:46:28 字數 769 閱讀 3847

實現執行緒的兩種方式:

繼承thread類。

實現runnable介面。

下面是乙個小案例:

public

class

thread和runnable

}class

mythread

extends

thread

@override

public

void run()

}}class

myrunnable

implements

runnable

}}

最後執行的是mythread裡面的run方法。這是為什麼呢?

當我們去檢視原始碼,runnable只有乙個run方法,thread實現runnable介面,在thread裡面對於run方法的定義

@override

public

void

run()

}

也就是當thread執行到run方法時,在thread類定義了

/* what will be run. */

private runnable target;

會判斷是否有target存在,如果有,則執行runnable裡面的run方法,但是有多型的存在,會直接執行子類mythread的run方法,於是不會再去呼叫myrunnable的run方法了,也就是不會去呼叫myrunnable的run方法。

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或者實現runable介面來實現,兩者之間的區別有 1.繼承只能單繼承而實現可以多實現。2.thread和runnable是 模式 runnable定義執行緒規範 run thread實現執行緒作用 start 3.runnable共享資料更方便 例子...