區別調用start方法實現多線程而調用run方法沒有實現多線程
Start:
用start方法來啟動線程真正實現了多線程運行這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼通過調用Thread類的start()方法來啟動一個線程這時此線程處於就緒(可運行)狀態並沒有運行一旦得到spu時間片就開始執行run()方法這裡方法run()稱為線程體它包含了要執行的這個線程的內容Run方法運行結束此線程隨即終止
Run:
run()方法只是類的一個普通方法而已如果直接調用Run方法程序中依然只有主線程這一個線程其程序執行路徑還是只有一條還是要順序執行還是要等待run方法體執行完畢後才可繼續執行下面的代碼這樣就沒有達到寫線程的目的
總結調用start方法方可啟動線程而run方法只是thread的一個普通方法調用還是在主線程裡執行
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27438.html