溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java線程中start和run的區別是什么

發布時間:2022-04-11 16:19:16 來源:億速云 閱讀:185 作者:zzz 欄目:編程語言

這篇文章主要介紹“java線程中start和run的區別是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java線程中start和run的區別是什么”文章能幫助大家解決問題。

public class Test1 extends Thread {  

@Override  public void run() {    

while (true)    

{      

System.out.println(Thread.currentThread().getName());    

}  

}  

public static void main(String[] args) {    

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的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女