更新時間:2020-01-19 14:42:30 來源:動力節(jié)點 瀏覽2729次
實現(xiàn)多線程的3種方式
1、繼承Thread類
看jdk源碼可以發(fā)現(xiàn),Thread類其實是實現(xiàn)了Runnable接口的一個實例,繼承Thread類后需要重寫run方法并通過start方法啟動線程。
繼承Thread類耦合性太強了,因為java只能單繼承,所以不利于擴展。
2、實現(xiàn)Runnable接口
通過實現(xiàn)Runnable接口并重寫run方法,并把Runnable實例傳給Thread對象,Thread的start方法調用run方法再通過調用Runnable實例的run方法啟動線程。
所以如果一個類繼承了另外一個父類,此時要實現(xiàn)多線程就不能通過繼承Thread的類實現(xiàn)。
3、實現(xiàn)Callable接口
通過實現(xiàn)Callable接口并重寫call方法,并把Callable實例傳給FutureTask對象,再把FutureTask對象傳給Thread對象。它與Thread、Runnable最大的不同是Callable能返回一個異步處理的結果Future對象并能拋出異常,而其他兩種不能。
示例代碼
結果輸出:
Thread1 running...
Thread2 running...
Thread3 running...
name:java,age:22
以上就是動力節(jié)點Java培訓機構小編介紹的“Java多線程實現(xiàn)的3種方式”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。
相關內容