教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Thread類實現(xiàn)多線程的優(yōu)點是什么?怎樣實現(xiàn)多線程

更新時間:2023年09月11日16時59分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

Thread類是iava.lang下的一個線程類,用來實現(xiàn) Java多線程。通過繼承Thread類的方式來實現(xiàn)多線程非常簡單,主要步驟如下:

(1)創(chuàng)建一個 Thread線程類的子類(子線程),同時重寫 Thread類的 run)方法;

(2)創(chuàng)建該子類的實例對象,并通過調(diào)用start()方法啟動線程。

接下來通過案例來演示Thread類使用這兩種方法來實現(xiàn)多線程的過程。

//1.定義一個繼承 Thread 線程類的子類
class MyThread1 extends Thread {
    //創(chuàng)建子線程類有參構(gòu)造方法
    public MyThread1(String name) {
        super(name);
    }
    //重寫 Thread類的run()方法
    public void run() {
         int i=0;
         while (i++<5){
             System.out.printIn (Thread.currentThread().getName()
                                   +"的run()方法在運行")
         }
     }
}
public class Example01 {
     public static void main(String[] args)(
          //2.創(chuàng)建MyThread1實例對象
          MyThread1 thread1=new MyThread1("thread1") ;
          //調(diào)用 start()方法啟動線程
          thread1.start();
          //創(chuàng)建并啟動另一個線程myThread2
          MyThread1 thread2=new MyThread1("thread2u) 
          thread2.start();
     }
}
定義了一個繼承 Thread 線程類的子類 MyThread1,并重寫了 run()方法其中currentThread()是 Thread類的靜態(tài)方法,用來獲取當(dāng)前線程對象,getName()方法用來獲取線程名稱。然后在 main()方法中分別創(chuàng)建了兩個線程實例,并指定線程名稱為thread1和thread2,最后通過 start()方法啟動線程。

兩個線程對象交互執(zhí)行了各自重寫的 run()方法,并打印出對應(yīng)的輸出信息,而不是按照編程順序先執(zhí)行完第一個線程方法后才執(zhí)行第二個線程方法,這就說明程序?qū)崿F(xiàn)了多線程功能。

注意:從程序運行結(jié)果可以看出創(chuàng)建的兩個線程實例交互運行,但實際上,該案例中還有一個 main()方法開啟的主線程,這是程序的入口,僅用于創(chuàng)建并啟動了兩個子線程實例,并沒有執(zhí)行其他動作輸出。通過定義一個子類MyThread繼承線程類java.lang.Thread,重寫run()方法,編碼簡單。但線程類已經(jīng)繼承Thread,無法繼承其他類,不利于擴(kuò)展。

0 分享到:
和我們在線交談!