多執行緒之run()和start()比較

2021-10-09 11:12:01 字數 884 閱讀 6885

在比較執行緒的run方法和start方法前,我們先來看一下currentthread()方法:

currentthread()能返回執行當前**的執行緒,下面開始正式進入run和start的比較:

一、start()方法

//**和start()案例都一樣,只是把主程式的demo.start()換成demo.run()

(1)直接使用run()方法:程式會立即執行run()方法,但是不啟動新的執行緒,也就是不開啟多執行緒

(2)使用start()方法:程式執行run()方法時機不確定,開啟多執行緒。

因此,要成功使用多執行緒,start()方法是必不可缺的

多執行緒的start和run

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

多執行緒中run 和start 的區別

實現並啟動執行緒有兩種方法 1 寫乙個類繼承自thread類,重寫run方法。用start方法啟動執行緒 2 寫乙個類實現runnable介面,實現run方法。用new thread runnable target start 方法來啟動 多執行緒原理 相當於玩遊戲機,只有乙個遊戲機 cpu 可是有...

java多執行緒run 和start 的區別

當你啟動執行緒,使用start 系統會把run 方法當成執行緒執行體來處理,這是正常的,也是正確的情況。但是,當你啟動執行緒時,呼叫run 方法,系統run 方法會立即執行,但是這時候系統會把run 方法當成普通的方法,執行緒物件也當成乙個普通物件。不理解我上面說的話?那我就在解釋一下。第乙個問題,...