Java繼承Thread類建立多線程__Java

來源:互聯網
上載者:User

Java繼承Thread類建立多線程 單線程樣本

樣本,Example01.java

public class Example01{    public static void main(String[] args){        // 建立MyThread執行個體對象        // 調用MyThread類的run()方法在運行        // 該迴圈是一個死迴圈,列印輸出語句        MyThread myThread=new MyThread();        myThread.run();        while(true){            System.out.println("Main方法在運行");        }    }}class MyThread{    public void run(){        while (true){            // 該迴圈是一個死迴圈,列印輸出語句            System.out.println("MyThread類的run()方法在運行");        }    }}

編譯運行

可以看出,程式一直在列印MyThread類的run()方法
因為,該層序是一個單線程程式,當調用MyThread類的run()方法時,遇到死迴圈,程式會一直進行,因此,MyThread類的列印語句,將永遠執行,在main()方法中的列印語句,無法得到執行 多線程樣本

如果,希望兩個while迴圈中的列印語句,能夠並發執行,就需要實現多線程
為此,JDK中提供了一個線程類Thread,通過繼承Thread類,並重寫Thread類中的run()方法,便可實現多線程
在Thread類中,提供了一個start()方法,用於啟動新線程,線程啟動之後,系統會自動調用run()方法
樣本,Example02.java

public class Example02{    public static void main(String[] args){        // 建立線程MyThread的線程對象        // 開啟線程        // 通過死迴圈語句列印輸出        MyThread myThread=new MyThread();        myThread.start();        while(true){            System.out.println("main()方法在運行");        }    }}class MyThread extends Thread{    public void run(){        while(true){            System.out.println("MyThread類的run()方法在運行");        }    }}

編譯運行

可以看出,兩個while迴圈中的列印語句在輪流執行,說明,該樣本實現了多線程 單線程

程式在運行時,會按照代碼的調用順序進行執行 多線程

main()方法和MyThread類的run()方法,可以同時執行,互不影響

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.