Thread類與Runnable接口的深刻理解
一、Thread類實現了Runnable接口,實現run方法,其中target參數對應的就是一個Runnable接口的實現類
@Override
public void run() {
if (target != null) {
target.run();
}
}
二、Thread.start方法是啓動一個線程的必要方法,並且同一線程屢次start則會報java.lang.IllegalThreadStateException異常
三、繼承Thread類,重寫run方法,那麼在調用start方法時,線程執行的則是子類的run方法,而且每次建立的線程實例,即new 繼承子類("ThreadName"),執行的run方法都是獨立的,簡單理解成每一個人都只作本身的任務,而實現Runnable接口的類,經過new Thread(實現類,"ThreadName")構造器建立出的線程實例,執行的run方法是同一個,簡單理解成多我的作同一個任務
參考連接:https://blog.csdn.net/xdd19910505/article/details/50732328java