演示圖
結果1
執行緒裡面的run執行結果二ping
執行緒裡面的run執行
執行緒裡面的run執行去掉start方法執行緒裡面的run執行
ping
package結果唯一thread;
public
class mian extends
thread}
執行緒裡面的run執行去掉run方法ping
package結果一thread;
public
class mian extends
thread}
ping結果二(由於時間太短,無法出現另一種情況,我們給主函式加上sleep看看,主函式也是乙個執行緒)執行緒裡面的run執行
package結果二thread;
public
class mian extends
thread
catch
(exception e)
system.out.println("ping");
}}
執行緒裡面的run執行總結:start()是開啟乙個執行緒到就緒狀態,等待獲取cpu時間,然後獲取之後執行內部run方法,然後銷毀。ping
開啟的執行緒與主線程是兩個互不干擾的執行緒,所以輸出是先後,根據獲得cpu時間的順序執行的。
直接呼叫run()方法,是作為乙個類的乙個普通方法使用的
,所以呼叫先後根據使用順序執行。
Java多執行緒run方法與start方法比較
一 start 方法與run 方法比較 1 start 當前執行緒呼叫start 方法,另乙個執行緒去執行run 方法。start方法不能多次執行。乙個執行緒執行完之後不能重新啟動。2 run 與普通方法一樣,可以重複呼叫。如果直接呼叫run方法,不會新建執行緒去執行run方法,會在當前執行緒中執行...
java多執行緒run 和start 的區別
當你啟動執行緒,使用start 系統會把run 方法當成執行緒執行體來處理,這是正常的,也是正確的情況。但是,當你啟動執行緒時,呼叫run 方法,系統run 方法會立即執行,但是這時候系統會把run 方法當成普通的方法,執行緒物件也當成乙個普通物件。不理解我上面說的話?那我就在解釋一下。第乙個問題,...
Java多執行緒中run和start的區別
thread的start和run 1 start 用start方法來啟動執行緒,真正實現了多執行緒執行,這時無需等待run方法體 執行完畢而直接繼續執行下面的 通過呼叫thread類的start 方法來啟動乙個執行緒,這時此執行緒處於就緒 可執行 狀態,並沒有執行,一旦得到spu時間片,就開始執行r...