關於執行緒的start呼叫run順序

2021-08-18 16:16:34 字數 516 閱讀 2574

1) start:

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

2) run:

run()方法只是類的乙個普通方法而已,如果直接呼叫run方法,程式中依然只有主線程這乙個執行緒,其程式執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢後才可繼續執行下面的**,這樣就沒有達到寫執行緒的目的。總結:呼叫start方法方可啟動執行緒,而run方法只是thread的乙個普通方法呼叫,還是在主線程裡執行。這兩個方法應該都比較熟悉,把需要並行處理的**放在run()方法中,start()方法啟動執行緒將自動呼叫 run()方法,這是由jvm的記憶體機制規定的。並且run()方法必須是public訪問許可權,返回值型別為void.。

執行緒的run 和start )

1.run 執行狀態方法 run 方法 在本執行緒內呼叫該runnable物件的run 方法,可以重複多次呼叫 2.start 啟動乙個執行緒 就緒 start 方法 啟動乙個執行緒,呼叫該runnable物件的run 方法,不能多次啟動乙個執行緒 public class runtest catc...

多執行緒的start和run

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

JAVA 執行緒run和start的區別

thread類中run 和start 方法的區別如下 run 方法 在本執行緒內呼叫該runnable物件的run 方法,可以重複多次呼叫 start 方法 啟動乙個執行緒,呼叫該runnable物件的run 方法,不能多次啟動乙個執行緒 package com.ljq.test public cl...