基於硬體 DMA(直接記憶體存取):CPU 發起指令後,外設(磁碟、網卡、GPU)自行與記憶體傳輸資料,完成後觸發中斷通知。不消耗 CPU 時間片,單進程無線程環境(如 DOS)也可實現異步 I/O。
作業系統提供的邏輯並發單元,本質是進程中一段並發執行的代碼。需要 OS 投入 CPU 資源進行調度、上下文切換。
| 維度 | 異步操作 | 多線程 |
|---|---|---|
| 資源開銷 | 極低(無額外線程) | 較高(棧空間、上下文切換) |
| 程式模型 | 回調/Future/Reactive,思維較反直覺 | 順序阻塞風格,符合直覺 |
| 共享狀態 | 易避免,降低死鎖風險 | 需額外同步機制,易死鎖 |
| 除錯難度 | 調用棧斷裂,較難追蹤 | 標準調用棧,易除錯 |
| 適用場景 | I/O 密集:檔案、網路、DB、HTTP、RPC | CPU 密集:圖像處理、演算法運算 |
理解本質差異,才能在架構選型時不盲目跟風,做出匹配業務特性的技術決策。