初考-統計資料處理大意107 年第 50 題單選題
在分散式系統(Distributed Systems)中,為減少系統的總延遲(overall latency of operations),下列那一項是不可行的方法?
A使用互斥量(mutex)鎖定共享資源(shareable resources)正確答案
B複製(replicating)計算單位(computational units)
C預取(prefetching)數據(data)
D多線程(multithreading)
A正確答案
mutex 鎖定共享資源會造成其他執行緒等待,反而增加延遲,不是降低延遲的方法。
為什麼答案是 A
mutex 是互斥鎖,用於保護共享資源避免競爭條件 (race condition),但同一時間只允許一個執行緒存取,其他要排隊等待,反而拉長延遲。目的在「正確性」而非「效能」。
載入中…
完整詳解
Pro · 無限重點 mutex 鎖定共享資源會造成其他執行緒等待,反而增加延遲,不是降低延遲的方法。
看到「鎖」「互斥」「序列化」→ 一定會增加等待時間,與降低延遲相反。
逐選項分析
A✓ 正確
mutex 是互斥鎖,用於保護共享資源避免競爭條件 (race condition),但同一時間只允許一個執行緒存取,其他要排隊等待,反而拉長延遲。目的在「正確性」而非「效能」。
B✕
複製計算單位 (replication) 可讓多節點平行處理請求,分散負載、就近服務,確實能降低整體延遲,是分散式系統常見優化手段。
C✕
預取 (prefetching) 是預先把可能用到的資料載入快取,使用時不必再等 I/O,有效縮短存取延遲。
D✕
多執行緒 (multithreading) 可讓多項工作並行處理,善用 CPU 資源、縮短完成時間,屬於降低延遲的典型技巧。
降低分散式系統延遲的常見手段
| 手段 | 原理 | 降低延遲? |
|---|
| Replication 複製 | 多節點平行服務 | ✅ |
| Prefetching 預取 | 預先載入資料 | ✅ |
| Multithreading 多線程 | 並行執行 | ✅ |
| Caching 快取 | 減少重複計算/取資料 | ✅ |
| Mutex 互斥鎖 | 序列化存取共享資源 | ❌ (反而增加) |
mutex 聽起來很「技術」,考生容易誤以為是效能優化。其實它是為了「資料正確性」犧牲並行度的同步機制,會讓原本可並行的工作被迫排隊,與降低延遲的目標相反。