Thread的start 和run 區別

2021-06-22 21:01:21 字數 512 閱讀 6382

首先,

之所以出現執行緒,就是為了更好的利用cpu,讓她更加「精明」的幹活。

通過呼叫thread類的start()方法來啟動乙個執行緒,

這時此執行緒是處於就緒狀態,

並沒有執行。

然後通過此thread類呼叫方法run()來完成其執行操作的,

這裡方法run()稱為執行緒體,

它包含了要執行的這個執行緒的內容,

run方法執行結束,

此執行緒終止,

而cpu再執行其它執行緒,

而如果直接用run方法,

這只是呼叫乙個方法而已,

程式中依然只有主線程--這乙個執行緒,

其程式執行路徑還是只有一條,

這樣就沒有達到寫執行緒的目的。

記住:執行緒就是為了更好地利用cpu,

提高程式執行速率的!

public class testthread1 }}

class runner1 implements runnable

}}

認識Thread的start和run

認識thread的start和run 1 start 用 start方法來啟動執行緒,真正實現了多執行緒執行,color red 這時無需等待run方法體 執行完畢而直接繼續執行下面的 color 通過呼叫thread類的 start 方法來啟動乙個執行緒,color red 這時此執行緒處於就緒 ...

Thread的start和run的區別

最近看到乙個題目,如下 public static void main string args t.run system.out.println ping static void pong 問,結果會輸出什麼?我執行了很多次,結果都是pong ping。後來終於發現了關鍵點所在,執行緒物件t,呼叫的...

Thread類的start 和run 方法

啟動執行緒肯定要用start 方法。當用start 開始乙個執行緒後,執行緒就進入就緒狀態,使執行緒所代表的虛擬處理機處於可執行狀態,這意味著它可以由jvm排程並執行。這並不意味著執行緒就會立即執行。當cpu分配給它時間時,才開始執行run 方法 如果有的話 start 是方法,它呼叫run 方法....