Java多线程中run和start的区别
生活随笔
收集整理的這篇文章主要介紹了
Java多线程中run和start的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?Thread的start和run
1) start:
用start方法來啟動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的start()方法來啟動一個線程,這時此線程處于就緒(可運行)狀態,并沒有運行,一旦得到spu時間片,就開始執行run()方法,這里方法run()稱為線程體,它包含了要執行的這個線程的內容,Run方法運行結束,此線程隨即終止。
2) run:
run()方法只是類的一個普通方法而已,如果直接調用Run方法,程序中依然只有主線程這一個線程,其程序執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢后才可繼續執行下面的代碼,這樣就沒有達到寫線程的目的。
總結:調用start方法方可啟動線程,而run方法只是thread的一個普通方法調用,還是在主線程里執行。
轉載于:https://blog.51cto.com/visionsky/431397
總結
以上是生活随笔為你收集整理的Java多线程中run和start的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发总结
- 下一篇: java美元兑换,(Java实现) 美元