Java 多線程入門必須理清的四個核心概念:`Thread` 類、`Runnable` 接口、`run()` 方法、`start()` 方法。它們之間的關係決定了線程的正確啟動方式。
| 概念 | 角色 | 關鍵點 |
|---|---|---|
Thread 類 | 線程控制類 | 繼承它並重寫 run() 可創建線程 |
Runnable 接口 | 任務載體 | 實現它並實現 run() 定義任務邏輯 |
run() | 任務執行體 | 僅是普通方法調用,不會開啟新線程 |
start() | 線程啟動器 | 調用後 JVM 創建新線程,異步執行 run() |
class MyThread extends Thread {
@Override
public void run() {
// 任務代碼
}
}
// 使用
new MyThread().start();
class MyTask implements Runnable {
@Override
public void run() {
// 任務代碼
}
}
// 使用
new Thread(new MyTask()).start();
// 或 Java 8+ Lambda 簡寫
new Thread(() -> {
// 任務代碼
}).start();
❌ `new MyThread().run();` — 只是主線程同步調用方法,無新線程
✅ `new MyThread().start();` — 真正啟動新線程