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

溫馨提示×

溫馨提示×

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

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

Java中如何創建線程

發布時間:2021-07-28 16:10:06 來源:億速云 閱讀:115 作者:Leah 欄目:編程語言

Java中如何創建線程,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Java實現并啟動線程有兩種方法

1、寫一個類繼承自Thread類,重寫run方法。用start方法啟動線程2、寫一個類實現Runnable接口,實現run方法。用new Thread(Runnable target).start()方法來啟動

注意:start方法不是立即執行多線程,而是使得該線程變為就緒態(Runnable)

1.通過擴展Thread類來創建線程

(1)定義Thread類的子類,并重寫該類的run方法,該run方法的方法體就代表了線程要完成的任務。因此把run()方法稱為執行體。

(2)創建Thread子類的實例,即創建了線程對象。

(3)調用線程對象的start()方法來啟動該線程。

public class MutliThreadDemo {  public static void main(String[] args) {        //創建Thread子類的實例,即創建了線程對象    MutliTread mt1 = new MutliTread("Thread");          //不立即執行多線程代碼,而是使得該線程變為就緒態(Runnable)    mt1.start();  }  }//通過擴展Thread類來創建線程class MutliTread extends Thread{    public MutliTread(String name) {    this.setName(name);    //或super(name)  }  public void run() {    for(int i = 0; i < 10; i++) {      System.out.println(Thread.currentThread().getName() + ":" + i);    }    }}

2.通過Runnable接口創建線程

(1)定義runnable接口的實現類,并實現該接口的run()方法,該run()方法的方法體同樣是該線程的線程執行體。

(2)創建 Runnable實現類的實例,并依此實例作為Thread的target來創建Thread對象,該Thread對象才是真正的線程對象。

(3)調用線程對象的start()方法來啟動該線程。

public class MutliThreadDemo3 {    public static void main(String[] args) {         //創建一個Runnable接口實現類    MutliTread3 m = new MutliTread3();        //實例化線程對象    Thread t1 = new Thread(m, "甲");    Thread t2 = new Thread(m, "乙");    Thread t3 = new Thread(m, "丙");    t1.start();    t2.start();    t3.start();  }  }class MutliTread3 implements Runnable{    public void run() {    for(int i = 0; i < 10; i++) {      System.out.println(Thread.currentThread().getName() + ":" + i);    }    }}

當然第二種方法也可通過匿名內部類或lambda表達式實現,會更簡潔。以下通過Lambda表達式實現run方法:

public class MutliThreadDemo3 {    public static void main(String[] args) {        Runnable r = () -> {        for(int i = 0; i < 10; i++) {        System.out.println(Thread.currentThread().getName() + ":" + i);      }      };        //實例化線程對象    Thread t1 = new Thread(r, "甲");    Thread t2 = new Thread(r, "乙");    Thread t3 = new Thread(r, "丙");    t1.start();    t2.start();    t3.start();  }  }

注:以上三種方式(本質上是兩種)創建的三個線程其實是互相獨立的

看完上述內容,你們掌握Java中如何創建線程的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

奈曼旗| 宁阳县| 溧阳市| 景洪市| 昌图县| 新巴尔虎左旗| 安溪县| 武邑县| 凉城县| 定边县| 江源县| 柞水县| 政和县| 长白| 钟山县| 泊头市| 栖霞市| 巩留县| 临安市| 河南省| 西平县| 蒲城县| 永济市| 宁都县| 广东省| 平塘县| 泽库县| 祁连县| 丹寨县| 理塘县| 彭州市| 威远县| 邵阳市| 都昌县| 新昌县| 新绛县| 淳化县| 肥东县| 子长县| 修武县| 时尚|