thread類和runnable接口的關係

關係

1、繼承實現問題
都可以來創建線程。但一個自定義線程如果選擇繼承(extends)Thread類來創建線程的話,只能繼承這一個類,就不能同時繼承其他類了;而選擇實現(implements)Runnable接口來創建線程,還可以同時實現其他接口。
原因:單繼承,多實現。

2、定義問題:
1)繼承thread類,直接創建此類對象,然後調用.start()開啓線程
2)實現Runnable接口,new一個實現runnable接口的子類,通過Thread類創建對象,傳遞runnable子類對象作爲參數,然後調用.start方法開啓線程

3、資源問題:
繼承thread類之後,再每new一個對象時會開啓一個新線程,每個線程擁有自己獨立的資源。
實現runnable接口,之後創建的多個線程可以共享處理同一資源。

結論

儘量使用實現Runnable接口的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章