int 0x80 / syscall 進入核心態(屬陷阱指令)。特點:非自願、硬體驅動、即時性,由作業系統核心統一管理。
Thread.interrupted() 或捕獲 InterruptedException(如 sleep、wait、join)。| 維度 | OS 中斷 | Java 中斷 |
|---|---|---|
| 觸發源 | 硬體/核心 | 應用程式呼叫 interrupt() |
| 響應方式 | 強制切換上下文 | 線程自行輪詢/拋出異常 |
| 資源清理 | 核心負責 | 線程自行在 finally 處理 |
// 正確響應中斷
while (!Thread.currentThread().isInterrupted()) {
try {
doWork();
} catch (InterruptedException e) {
Thread.currentThread().interrupt(); // 重設旗標
break;
}
}