91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

文成县| 闻喜县| 岳阳市| 屏边| 嘉荫县| 桃园市| 湄潭县| 拜城县| 红安县| 莱阳市| 静安区| 保亭| 镶黄旗| 稻城县| 永昌县| 云林县| 江源县| 新郑市| 抚州市| 延津县| 化州市| 长葛市| 武穴市| 章丘市| 吴桥县| 双江| 九寨沟县| 腾冲县| 禹州市| 大田县| 邢台县| 伊春市| 和政县| 舞阳县| 辽宁省| 皮山县| 平遥县| 涿鹿县| 安乡县| 安西县| 澳门|