| 維度 | 阻塞方法 | break 語句 |
|---|---|---|
| 層面 | 運行時行為 | 語法/編譯時結構 |
| 典型例子 | `Thread.sleep()`、`InputStream.read()`、`Object.wait()`、`BlockingQueue.take()` | 跳出 `for`/`while`/`switch` |
| 觸發繼續 | 外部條件滿足(數據到達、超時、中斷、notify) | 遇到 `break` 關鍵字即時跳出 |
| 作用範圍 | 當前線程 | 當前循環/開關塊 |
while (running) {
try {
String msg = blockingQueue.take(); // 阻塞等待
process(msg);
} catch (InterruptedException e) {
break; // 捕獲中斷,跳出循環結束線程
}
}
此處 `break` 用於**響應中斷退出循環**,而非控制阻塞方法本身。