地方政府公務人員四等-資訊處理類科計算機概要110 年第 29 題單選題
現今應用程式的計算行為相當複雜,常常要在一段時間內同時執行好幾個不同的執行緒(thread)。在多執行緒的程式中,下列何者是thread-safe的函數(function)必要的特性?
A在函數中不可以呼叫任何系統呼叫(system calls)
B在函數中所有用到的共享全域變數(shared global variables)都會加以保護,以保證一次只有一個執行緒可以修改其值正確答案
C這個函數不可以使用遞迴
D這個函數不可以有忙碌等待迴圈(busy-waiting loops)
B正確答案
Thread-safe 的關鍵在於保護共享資源,確保多執行緒存取時不會發生競爭條件 (race condition)。
為什麼答案是 B
Thread-safe 的核心定義:當多執行緒同時存取共享資源時,透過同步機制(mutex、lock、semaphore)保護共享全域變數,確保一次只有一個執行緒修改,避免 race condition。
考點:系統呼叫無關考點:共享變數保護考點:遞迴誤導考點:效能≠安全