run 方法與start 方法的區別

2021-09-24 06:37:35 字數 362 閱讀 6682

thread類中的run()方法是thread類實現介面runnable介面重寫run()方法,並且為執行緒中的普通方法。如果主線程中呼叫run()方法時,其後面的**需要等待run()方法中的**體執行完畢時,才能夠繼續完成。

start()方法為thread類中的方法,當執行緒呼叫start()方法時,jvm虛擬機器則會啟動該執行緒,並且呼叫執行緒中的run()方法。將執行緒的新建狀態轉換成為就緒狀態。主線程不需要等待run()方法中的**體執行完畢。可以直接執行start()方法中的後面**。

start()方法在被呼叫結束之後,不能夠重複呼叫該執行緒start()方法,否則會丟擲illegalthreadstateexceptionp異常。重複呼叫普通方法run()不會發生異常。

start方法run方法區別

兩種方法的區別 1.start方法 用 start方法來啟動執行緒,是真正實現了多執行緒,通過呼叫thread類的start 方法來啟動乙個執行緒,這時此執行緒處於就緒 可執行 狀態,並沒有執行,一旦得到cpu時間片,就開始執行run 方法。但要注意的是,此時無需等待run 方法執行完畢,即可繼續執...

thread中start和run方法的區別

認識thread的start和run 1 start 用 start方法來啟動執行緒,真正實現了多執行緒執行,這時無需等待run方法體 執行完畢而直接繼續執行下面的 通過呼叫thread類的 start 方法來啟動乙個執行緒,這時此執行緒處於就緒 可執行 狀態,並沒有執行,一旦得到cpu時間片,就開...

Thread中start和run方法的區別

呼叫start 方法會建立乙個新的子執行緒並啟動 呼叫run 方法只是thread的乙個普通方法呼叫 public class threadtest public static void main string args system.out.println 當前主線程是 thread.curren...