建立並使用線程

建立並使用線程

兩種方式,建立新的線程:html

實現 Runnable 接口,Runnable 接口定義了一個方法:run。run 方法中的代碼,將在建立的線程中執行。實現了 Runnable 接口的對象,做爲 Thread 構造方法的參數。java

public class HelloRunnable implements Runnable {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new Thread(new HelloRunnable())).start();
    }

}

繼承 Thread。Thread 類實現了 Runnable 接口,儘管它的 run 方法內什麼也沒有。一個類能夠繼承自 Thread,並重寫 run 方法。oracle

public class HelloThread extends Thread {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new HelloThread()).start();
    }

}

注意,兩個例子均調用了 Thread.start 去建立一個新的線程線程

這兩種方式,該選哪種?

實現 Runnable 接口,是經常使用的建立新線程的方式。code

  1. 實現 Runnable 接口的類,能夠繼承自其它的類,而不單單是 Thread。更加靈活。htm

  2. 適用於一些高階線程管理的 APIs對象

繼承 Thread,用起來彷佛更加簡單一點。缺點是,沒法繼承其它類 (java)繼承

建議使用第一種。接口

參考資料

相關文章
相關標籤/搜索