Thread和Runnable的區(qū)別
老師,俺覺得第二點并不是兩者的區(qū)別,Thread程序是new了三個MyThread,而只啟動了一個線程,Runnable則是new了一個MyThread啟動了三個線程,也就是說前者一個線程運行著三個不同的對象,后者則是同一個對象給三個線程,是代碼的實現(xiàn)方式不一樣而不是Thread和Runnable的區(qū)別。 一點拙見,若有問題還望指正
老師,俺覺得第二點并不是兩者的區(qū)別,Thread程序是new了三個MyThread,而只啟動了一個線程,Runnable則是new了一個MyThread啟動了三個線程,也就是說前者一個線程運行著三個不同的對象,后者則是同一個對象給三個線程,是代碼的實現(xiàn)方式不一樣而不是Thread和Runnable的區(qū)別。 一點拙見,若有問題還望指正
2015-11-02
舉報
2019-01-02
繼承thread類和實現(xiàn)runnable接口本身就沒有什么可比性。兩者根部就不是同一類東西一個是接口,另一個是繼承類且這個thread類也是繼承了Runnable接口的。兩者不同在于方法的實現(xiàn)不同,我也可以在繼承thread類里寫runnable的方法。再有就是java單繼承的劣勢,這點上Runnable會更好些。
2016-01-26
同意螢火蟲的,兩件事物的可比性,肯定是除了要比較的方面,其他方面都一樣才能有可比性,這視頻,在兩個主函數(shù)立面,兩個對象的實例化的方法都不一樣,咋比較?如果我把extends thread 換成implements Runnable,其他代碼部分都一樣,這兩段代碼執(zhí)行效果完全一樣啊。那這兩個東西的區(qū)別到底在哪里啊?!
2015-12-02
呃,前者不是一個線程三個對象,是三個Thread對象,也是三個線程,這三個線程啟動后都會執(zhí)行5次賣票,實現(xiàn)不了共享“5張票”這個資源,所以輸出就會有15張票賣出去,顯然不符合實際,用Runnable就可以解決這個問題,創(chuàng)建的三個線程可以共享“5張票”這個資源,建議再看一遍課程,老師講的蠻清楚的(個人意見,僅供參考,歡迎指正)