首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 多執行緒:實作 Runnable 介面建立執行緒完整範例

     編輯:Java 相關知識

兩種建立執行緒的方式

  1. 繼承 Thread 類別
  2. 實作 Runnable 介面(推薦):職責分離,避免單一繼承限制,方便傳入執行緒池。

Runnable 實作三步驟

  1. 建立實作 Runnable 的類別,覆寫 run()。
  2. 實例化該類別,作為 Thread 建構子參數。
  3. 呼叫 Thread.start() 啟動執行緒(切勿直接呼叫 run())。

完整程式碼


package mythread;

public class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        MyRunnable task1 = new MyRunnable();
        MyRunnable task2 = new MyRunnable();

        Thread t1 = new Thread(task1, "MyThread-1");
        Thread t2 = new Thread(task2);          // 預設名稱 Thread-0, Thread-1...
        t2.setName("MyThread-2");

        t1.start();
        t2.start();
    }
}

執行結果


MyThread-1
MyThread-2

關鍵細節

  • Thread.currentThread().getName() 取得正在執行的執行緒名稱。
  • 建構子 Thread(Runnable target, String name) 可一次指定任務與名稱。
  • setName() 可在 start() 前後修改,但 start() 後改名有競態風險,建議建構時指定。
  • 同一 Runnable 實例可傳入多個 Thread,共享任務邏輯與狀態。

進階:搭配執行緒池


ExecutorService pool = Executors.newFixedThreadPool(2);
pool.submit(new MyRunnable()); // 自動管理執行緒生命週期
pool.shutdown();

實務上極少直接 new Thread(),統一交給 ExecutorService 管理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved