Thread和實現介面Runnable的區別
阿新 • • 發佈:2019-02-07
首先,我更喜歡用Runnable的方式。Runnable的方式更接近共享同一資料的問題。
1,Thread執行緒實現是靠繼承,我們知道java是單繼承的。而Runnable是現實介面。這樣Runnable可以“多繼承”;
2,資料資源問題。Runnable實現多執行緒,是通過建立執行緒類來實現的。那麼現實Runnable介面的類。不需要多次建立。這樣的話,我們實現多執行緒的時候是用同一個實現的物件。看程式碼:
MyRunnable my = new MyRunnable(); //只建立一次。那麼資料之間是共享的。 Thread t1 = new Thread(my, "執行緒一"); Thread t2 = new Thread(my, "執行緒二");而繼承Thread類,建立一個執行緒就要建立多一個執行緒實現類的物件。資料不是共享的。每次建立都是一個新的物件了。