中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

java線程中start和run的區別詳解

發布時間:2020-08-30 09:21:53 來源:腳本之家 閱讀:205 作者:MartinEDM 欄目:編程語言

這篇文章主要介紹了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的一個普通方法調用,還是在主線程里執行。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

周宁县| 平遥县| 东安县| 乌鲁木齐市| 富川| 高安市| 姜堰市| 扎鲁特旗| 徐水县| 孟州市| 如皋市| 永兴县| 新绛县| 察哈| 正宁县| 咸阳市| 富平县| 武城县| 锡林浩特市| 平昌县| 横山县| 寻甸| 河南省| 东丰县| 米林县| 新竹市| 双城市| 黑龙江省| 铁力市| 抚州市| 辽阳市| 咸丰县| 七台河市| 龙游县| 靖州| 巫溪县| 南昌市| 屏东县| 宽甸| 黎川县| 汉源县|