為什么runnable還要轉(zhuǎn)成thread
//使用Runnable接口創(chuàng)建線程
Thread ?armyOfSuiDynasty = new Thread(armyTaskOfSuiDynasty,"隋軍");這個armyTaskOfSuiDynasty實現(xiàn)的runnable不已經(jīng)是線程了嗎,還要轉(zhuǎn)嗎
//使用Runnable接口創(chuàng)建線程
Thread ?armyOfSuiDynasty = new Thread(armyTaskOfSuiDynasty,"隋軍");這個armyTaskOfSuiDynasty實現(xiàn)的runnable不已經(jīng)是線程了嗎,還要轉(zhuǎn)嗎
2017-09-01
舉報
2018-09-07
2017-09-02
在使用Runnable定義的子類中沒有start()方法,只有Thread類中才有。此時觀察Thread類,有一個構(gòu)造方法:public Thread(Runnable targer)此構(gòu)造方法接受Runnable的子類實例,也就是說可以通過Thread類來啟動Runnable實現(xiàn)的多線程。(start()可以協(xié)調(diào)系統(tǒng)的資源)
在程序開發(fā)中只要是多線程肯定永遠以實現(xiàn)Runnable接口為主,因為實現(xiàn)Runnable接口相比繼承Thread類有如下好處:
避免點繼承的局限,一個類可以繼承多個接口。
適合于資源的共享