1. 程式人生 > >建立Thread物件的兩種常見的方法分析

建立Thread物件的兩種常見的方法分析

一、常見的兩種方法

1.定義一個執行緒類,它繼承類Thread並重寫其中的run方法

  • 定義一個類繼承Thread類

public class MyThread1 extends Thread{  

    public void run()  
    {  
        方法體1;

        }  
    }  
  • 呼叫自定義Thread物件
public static void main(String [] args){
        MyThread m1=new MyThread1("thread1");
        MyThread m2=new
MyThread1("thread2"); MyThread m3=new MyThread1("thread3"); m1.start(); m2.start(); m3.start(); }

2.通過實現Runnable介面來建立多執行緒

  • 定義一個類實現Runnable介面
public class MyThread2 implements Runnable  {  

    public void run()  {  
      方法體2;
    }  
  • 呼叫自定義Thread物件
public
static void main(String [] args){ MyThread m1=new MyThread1("thread1"); MyThread m2=new MyThread1("thread2"); MyThread m3=new MyThread1("thread3"); m1.start(); m2.start(); m3.start(); }
注:其中方法體1,2中均為執行緒要實現的操作程式碼

二、兩種方法的比較

  • 第一種方式,繼承Thread類,類僅支援單繼承,也就是說,當定義一個新的類的時候,它只能擴充套件一個外部類.這樣,如果建立自定義執行緒類的時候是通過擴充套件 Thread類的方法來實現的,那麼這個自定義類就不能再去擴充套件其他的類,也就無法實現更加複雜的功能。同時執行緒任務和執行緒物件繫結在一起,耦合性(緊密聯絡程度)高。不便於維護。

  • 第二種方式,實現Runnable介面,執行緒任 務在實現Runnable介面的類中,執行緒物件是Thread類物件,執行緒任務和執行緒物件相分離,耦合性底,便於維護,可拓展性高。