兩種方法的區(qū)別:
1.start方法
用start方法來啟動線程,是真正實現(xiàn)了多線程,通過調(diào)用Thread類的start()方法來啟動一個線程,這時此線程處于就緒(可運行)狀態(tài),并沒有運行,一旦得到cpu時間片,就開始執(zhí)行run()方法。但要注意的是,此時無需等待run()方法執(zhí)行完畢,即可繼續(xù)執(zhí)行下面的代碼。所以run()方法并沒有實現(xiàn)多線程。
2.run方法
run()方法只是類的一個普通方法而已,如果直接調(diào)用Run方法,程序中依然只有主線程這一個線程,其程序執(zhí)行路徑還是只有一條,還是要順序執(zhí)行,還是要等待run方法體執(zhí)行完畢后才可繼續(xù)執(zhí)行下面的代碼。
所以說:
run()方法就是一個普通的方法,真正啟動一個新線程的話是start()。