首頁 > Java > java教程 > java線程中start和run的差別是什麼

java線程中start和run的差別是什麼

WBOY
發布: 2023-04-20 12:37:18
轉載
1774 人瀏覽過

public class Test1 extends Thread {  

@Override  public void run() {    

while (true)    

{    # 

##. println(Thread.currentThread().getName());    

#}  

}  

public static void main(String[] args) {   arg 

Test1 test1=new Test1();    

test1.run();  //輸出結果main    

test1.start(); //輸出結果Thread-0  

。 }

}

1.start

start作用是啟動一個新執行緒。

當用start()開始一個執行緒後,執行緒就進入就緒狀態,使執行緒所代表的虛擬處理機處於可運行狀態,這表示它可以由JVM調度並執行。但這並不意味著執行緒就會立即運行。只有當cpu分配時間片時,這個執行緒獲得時間片時,才開始執行run()方法。 start()不能被重複調用,它調用run()方法.run()方法是你必須重寫的

#2.run

######run()就和普通的成員方法一樣,可以重複呼叫。 ######如果直接呼叫run方法,並不會啟動新執行緒!程式中依然只有主線程這一線程,其程式執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢後才可繼續執行下面的程式碼,這樣就沒有達到多線程的目的。 ######呼叫start方法方可啟動線程,而run方法只是thread的一個普通方法調用,還是在主線程裡執行。 ###

以上是java線程中start和run的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板