更新時間:2023年09月11日16時59分 來源:傳智教育 瀏覽次數(shù):
Thread類是iava.lang下的一個線程類,用來實現(xiàn) Java多線程。通過繼承Thread類的方式來實現(xiàn)多線程非常簡單,主要步驟如下:
(1)創(chuàng)建一個 Thread線程類的子類(子線程),同時重寫 Thread類的 run)方法;
(2)創(chuàng)建該子類的實例對象,并通過調用start()方法啟動線程。
接下來通過案例來演示Thread類使用這兩種方法來實現(xiàn)多線程的過程。
//1.定義一個繼承 Thread 線程類的子類 class MyThread1 extends Thread { //創(chuàng)建子線程類有參構造方法 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") ; //調用 start()方法啟動線程 thread1.start(); //創(chuàng)建并啟動另一個線程myThread2 MyThread1 thread2=new MyThread1("thread2u) thread2.start(); } }定義了一個繼承 Thread 線程類的子類 MyThread1,并重寫了 run()方法其中currentThread()是 Thread類的靜態(tài)方法,用來獲取當前線程對象,getName()方法用來獲取線程名稱。然后在 main()方法中分別創(chuàng)建了兩個線程實例,并指定線程名稱為thread1和thread2,最后通過 start()方法啟動線程。
兩個線程對象交互執(zhí)行了各自重寫的 run()方法,并打印出對應的輸出信息,而不是按照編程順序先執(zhí)行完第一個線程方法后才執(zhí)行第二個線程方法,這就說明程序實現(xiàn)了多線程功能。
注意:從程序運行結果可以看出創(chuàng)建的兩個線程實例交互運行,但實際上,該案例中還有一個 main()方法開啟的主線程,這是程序的入口,僅用于創(chuàng)建并啟動了兩個子線程實例,并沒有執(zhí)行其他動作輸出。通過定義一個子類MyThread繼承線程類java.lang.Thread,重寫run()方法,編碼簡單。但線程類已經(jīng)繼承Thread,無法繼承其他類,不利于擴展。