13 非同步I/O的主要優點為何?
(A) 確保資料安全性
(B) 提升資料正確性
(C) 增加程式可攜性
(D) 提升系統效能
統計: A(3), B(1), C(1), D(3), E(0) #3399860
詳解 (共 2 筆)
【第一步:找關鍵字】
關鍵字:
-
非同步 I/O(asynchronous I/O)
-
主要優點
-
效能(隱藏考點)
? 這題核心在「非同步」三個字
? 意思就是:不用等,可以同時做其他事
【第二步:白話翻譯】
這題在問:
? 「當程式不用傻傻等 I/O(讀檔、網路),而可以同時做其他事情時,有什麼好處?」
【第三步:解題思路】
這題在考什麼觀念?
? 同步 vs 非同步 I/O 的差異
解題步驟
-
先理解「同步 I/O」
→ 做一件事要等完成才能做下一件 -
再理解「非同步 I/O」
→ 發出請求後,可以先去做別的事 -
推論結果
→ CPU 不會閒著 → 效率變好
原理與規則(生活比喻)
想像你去餐廳點餐:
-
同步 I/O:
點完餐 → 一直站在櫃台等(浪費時間) -
非同步 I/O:
點完餐 → 去找位子坐、滑手機
→ 餐好了再通知你
? 明顯比較有效率!
【第四步:選項分析】
(A) 為什麼錯?
✘ 錯
非同步 I/O 不是用來提升「安全性」
(B) 為什麼錯?
✘ 錯
也不是用來提升「資料正確性」
? 它關心的是「效率」,不是「正確性」
(C) 為什麼錯?
✘ 錯
可攜性(portability)與 I/O 模型無直接關係
(D) 為什麼對?
✔ 正確(本題答案)
? 非同步 I/O 的最大優點:
CPU 不需要等待 → 可以同時處理其他工作 → 效能提升
【觀念補充與延伸】
核心觀念定位
? 系統程式 / 作業系統 / I/O 模型
? 中高頻考點
法條或定義
-
非同步 I/O(Asynchronous I/O):
發出 I/O 請求後,程式不需等待完成,可繼續執行其他工作
同步 vs 非同步比較
| 類型 | 特性 |
|---|---|
| 同步 I/O | 必須等待完成 |
| 非同步 I/O | 不需等待,可並行處理 |
觸類旁通(舉一反三)
對比概念
-
Blocking vs Non-blocking
? Blocking:卡住等待
? Non-blocking:不等待(類似非同步)
變化題型
-
問:哪種適合高併發系統(例如伺服器)?
? 非同步 I/O
【記憶口訣】
? 「不等就是快」
【常見陷阱】
學生最容易搞混的地方
把「效能」和「正確性、安全性」搞混
心理盲點
看到 I/O 就想到資料,不想到效率
避坑指南
? 看到「非同步」:
直接聯想
→ 不用等 → 效率提升