Java語言start和run方法的區別

來源:文萃谷 4.88K

導語:Thread類定義了一個功能,用於存儲線程要運行的代碼,該存儲功能就是run方法。那麼它和start方法有什麼不同呢?讓我們瞭解一下吧!

Java語言start和run方法的區別

調用start方法方可啟動線程,而run方法只是thread的一個普通方法,調用run方法不能實現多線程;

  Start()方法:

start方法用來啟動線程,實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的'

代碼。通過調用Thread類的start()方法來啟動一個線程,這時此線程處於就緒(可運行)狀態,並沒有運行,

一旦得到cpu時間片(執行權),就開始執行run()方法,這裏方法run()稱為線程體,

它包含了要執行的這個線程的內容,Run方法運行結束,此線程隨即終止。

  Run()方法:

run()方法只是Thread類的一個普通方法,如果直接調用Run方法,程序中依然只有主線程這一個線程,

其程序執行路徑還是隻有一條,還是要等待run方法體執行完畢後才可繼續執行下面的代碼,

這樣就沒有達到多線程的目的。

熱門標籤