1. 程式人生 > 其它 >實現Runnable介面建立多執行緒

實現Runnable介面建立多執行緒

在之前的Java培訓中,我們講到了Thread類,通過繼承Thread類實現可以實現多執行緒,但是這種方式有一定的侷限性。因為Java只支援單繼承,一個類一旦繼承了某個父類就無法再繼承Thread類,例如學生類Student繼承了Person類,就無法通過繼承Thread類建立執行緒。

  為了克服這種弊端,Thread類提供了另外一個構造方法Thread(Runnable target),其中Runnable是一個介面,它只有一個run()方法。當通過Thread(Runnable target)構造方法建立執行緒物件時,只需要為該方法傳遞一行程式碼,而不需要呼叫Thread類中的run()方法。

  下面通過一個案例來演示如何通過實現Runnable介面的方式來建立多執行緒,程式碼如下檔案8-3所示。

 

 檔案8-3的執行結果如圖8-6所示。

檔案8-3中,第11~17行程式碼定義的MyThread類實現了Runnable介面,並在第12~16行程式碼中重寫了Runnable介面中的run()方法;第4行程式碼中通過Thread類的構造方法將MyThread類的例項物件作為引數轉入,第5行程式碼中使用start()方法開啟MyThread執行緒,最後在第6~8行程式碼中定義了一個while死迴圈。從圖8-6的執行結果可以看出,main()方法和run()方法中的列印語句都執行了,說明檔案8-3實現了多執行緒。

圖8-6 檔案8-3的執行結果