天天看點

Java實作多線程的三種方式

Java多線程實作方式主要有三種:繼承Thread類、實作Runnable接口、使用ExecutorService、Callable、Future實作有傳回結果的多線程。前兩種方式啟動的線程沒有傳回值,啟動後與主線程沒有任何關系,主線程也不知道子線程是否執行結束;後一種方式線程有傳回值,啟動後主線程可以根據線程對象來判斷顯示是否結束以及擷取線程執行結果,前者多用于,當執行一個主要任務時需要執行一個輔助耗時任務,但是主任務并不關心輔助任務是否執行成功,執行成功的結果是什麼,後者多用于執行主任務時需要執行一個耗時的輔助任務,但是主任務的執行結果或者執行流向依賴于輔助任務的執行結果。

  1、繼承Thread的方式實作線程

Java實作多線程的三種方式
Java實作多線程的三種方式

  2、實作Runnable接口實作線程

Java實作多線程的三種方式
Java實作多線程的三種方式

  3、實作Callable接口方式實作由傳回值的線程

Java實作多線程的三種方式
Java實作多線程的三種方式

說明:

  在使用多線程的過成功為了減少類的開發經常會使用匿名内部類的方式來啟動線程,這樣減少線程類的開發,同時還可以讓匿名内部類的通路外部類的内容,如下

Java實作多線程的三種方式
Java實作多線程的三種方式
Java實作多線程的三種方式
Java實作多線程的三種方式
Qt

繼續閱讀