多核心與同步
關於臨界區段(critical section),下列說明何者正確?
- A為了操作共用資料,同一時間只能有一個執行緒執行的程式部分
- B程式中執行時間最長的部分
- C只在發生錯誤時才執行的部分
查看答案與解析
正確答案:A. 為了操作共用資料,同一時間只能有一個執行緒執行的程式部分
若多個執行緒同時執行讀取並改寫共用變數的部分,就會發生資料競爭。這種應該同一時間只由一個執行緒執行的部分稱為臨界區段,進入前先取得鎖,離開時釋放,以此加以保護。臨界區段越長,其他執行緒等待的時間也越長,所以基本原則是盡量縮短。
- A. 正確。以鎖等來保護。
- B. 不是由執行時間的長短來決定。
- C. 不是指錯誤處理。