java建立多線程的兩種方法(繼承Thread類/實現Runnable介面)

來源:互聯網
上載者:User

 Thread 建立線程步驟:

通常建立一個線程的步驟如下。(1)建立一個新的線程類,繼承 Thread 類並覆蓋 Thread 類的 run()方法。class ThreadType extends Thread{  public void run(){   ……  }}(2)建立一個線程類的對象,建立方法與一般對象的建立相同,使用關鍵字 new 完成。ThreadType tt = new ThreadType();(3)啟動新線程對象,調用 start()方法。tt.start();(4)線程自己調用 run()方法。void run();下面示範一個建立多個線程的例子。class ThreadDemo2 extends Thread{     //聲明無參數,空構造方法     ThreadDemo2(){}     //聲明帶有字串參數的構造方法     ThreadDemo2(String szName)     {          super(szName);//調用父類的構造方法     }     //重載 run 函數     public void run()     {          for (int count = 1,row = 1; row < 10; row++,count++) //迴圈計算輸出的*數目          {                 for (int i = 0; i < count; i++)//迴圈輸出指定的 count 數目的*                 {                        System.out.print('*');//輸出*                 }                 System.out.println();//輸出*          }     }     public static void main(String argv[ ]){          ThreadDemo2 td1 = new ThreadDemo2(); //建立,並初始化 ThreadDemo2 類型對象 td1          ThreadDemo2 td2 = new ThreadDemo2(); //建立,並初始化 ThreadDemo2 類型對象 td2          ThreadDemo2 td3 = new ThreadDemo2(); //建立,並初始化 ThreadDemo2 類型對象 td3          td1.start();//啟動線程 td1          td2.start();//啟動線程 td2          td3.start();//啟動線程 td3          }}


Runnable 建立線程步驟:

通常實現 Runnable 線程的步驟如下。(1)建立一個實現 Runnable 介面的類,並且在這個類中重寫 run 方法。class ThreadType implements Runnable{  public void run(){   ……  }}(2)使用關鍵字 new 建立一個 ThreadType 的執行個體。Runnable rb = new ThreadType ();(3)通過 Runnable 的執行個體建立一個線程對象,在建立線程對象時,調用的建構函式是new Thread(ThreadType),它用 ThreadType 中實現的 run()方法作為新線程對象的 run()方法。Thread td = new Thread(rb);(4)通過調用 ThreadType 對象的 start()方法啟動線程運行。td.start();下面是一個通過 Runnable 建立多線程的例子。//檔案:程式 10.5ThreadDemo4.java描述:產生三個新的線程class ThreadDemo4 implements Runnable{     //重載 run 函數     public void run()     {          for (int count = 1,row = 1; row < 10; row++,count++) //迴圈計算輸出的*數目          {                 for (int i = 0; i < count; i++)//迴圈輸出指定的 count 數目的*                 {                        System.out.print('*');//輸出*                 }                 System.out.println();//輸出分行符號          }     }     public static void main(String argv[ ]){          Runnable rb1 = new ThreadDemo4();//建立,並初始化 ThreadDemo4 對象 rb1          Runnable rb2 = new ThreadDemo4();//建立,並初始化 ThreadDemo4 對象 rb2          Runnable rb3 = new ThreadDemo4();//建立,並初始化 ThreadDemo4 對象 rb3          Thread td1 = new Thread(rb1);//建立線程對象 td1          Thread td2 = new Thread(rb2);//建立線程對象 td2          Thread td3 = new Thread(rb3);//建立線程對象 td3          td1.start();//啟動線程 td1          td2.start();//啟動線程 td2          td3.start();//啟動線程 td3          }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.