29 這些警訊告訴我們在使用信號時要注意什麼?
(A) 信號處理要快速
(B) 信號使用要謹慎且安全
(C) 信號數量要最小化
(D) 信號類型要統一
統計: A(0), B(6), C(0), D(1), E(0) #3399876
詳解 (共 2 筆)
【第一步:找關鍵字】
關鍵字:
-
警訊(warning)
-
使用信號(signal)
-
注意什麼(整體原則題)
? 這題不是在考細節
? 是在考「整體設計原則」
【第二步:白話翻譯】
這題在問:
? 「當你看到很多關於 signal 的風險或限制時,最核心的結論是什麼?」
【第三步:解題思路】
這題在考什麼觀念?
? Signal 使用的設計原則(安全性與穩定性)
解題步驟
-
想 signal 有哪些問題:
-
非同步(會突然發生)
-
race condition(競爭條件)
-
handler 限制很多
-
-
推論結論
→ 使用時要「非常小心」
原理與規則(生活比喻)
把 signal 想成「緊急電話」:
-
隨時可能打進來(非同步)
-
你正在做事會被打斷
-
還不能亂講話(handler 限制)
? 所以你會怎樣?
? 非常小心處理
【第四步:選項分析】
(A) 為什麼錯?
✘ 錯
「要快」只是其中一個技巧
? 不是整體原則
(B) 為什麼對?
✔ 正確(本題答案)
? signal 的核心問題:
-
非同步
-
容易出錯
-
handler 有限制
? 所以:
必須謹慎且安全地使用
(C) 為什麼錯?
✘ 錯
信號數量不是重點
? 重點是「怎麼用」
(D) 為什麼錯?
✘ 錯
信號類型不需要統一
? 這不是核心問題
【觀念補充與延伸】
核心觀念定位
? 作業系統 / Signal 設計原則
? 偏觀念型考題
Signal 的風險(一定要懂)
-
非同步(隨時發生)
-
會中斷程式流程
-
handler 可用函數有限(async-signal-safe)
-
容易產生 race condition
安全原則
? signal handler 中應:
-
簡單(simple)
-
快速(fast)
-
安全(safe)
觸類旁通(舉一反三)
對比概念
-
signal vs thread
? signal 是「中斷式」
? thread 是「並行式」
變化題型
-
問:signal handler 裡可以做複雜邏輯嗎?
? 不建議
【記憶口訣】
? 「signal 很危險,用法要保守」
【常見陷阱】
學生最容易搞混的地方
把「技巧」當成「原則」
心理盲點
看到選項合理就選,沒看「題目層級」
避坑指南
? 題目問「警訊告訴我們什麼」:
? 通常答案是「整體策略」,不是細節