歡迎您光臨本站 註冊首頁

Java多線程中run和start的區別

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

區別:調用start方法實現多線程,而調用run方法沒有實現多線程

Start:

用start方法來啟動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼.通過調用Thread類的start()方法來啟動一個線程,這時此線程處於就緒(可運行)狀態,並沒有運行,一旦得到spu時間片,就開始執行run()方法,這裡方法run()稱為線程體,它包含了要執行的這個線程的內容,Run方法運行結束,此線程隨即終止.

Run:

run()方法只是類的一個普通方法而已,如果直接調用Run方法,程序中依然只有主線程這一個線程,其程序執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢后才可繼續執行下面的代碼,這樣就沒有達到寫線程的目的.

總結:調用start方法方可啟動線程,而run方法只是thread的一個普通方法調用,還是在主線程里執行.


[火星人 ] Java多線程中run和start的區別已經有331次圍觀

http://coctec.com/docs/java/show-post-59877.html