多核心與同步
關於硬體交易式記憶體(hardware transactional memory)的概念,下列何者正確?
- A以推測方式執行臨界區段,若沒有與其他執行緒衝突就一併確定,若發生衝突則取消並重做
- B像銀行交易一樣,將所有記憶體的讀寫記錄到磁碟
- C禁止記憶體的寫入,只允許讀取
查看答案與解析
正確答案:A. 以推測方式執行臨界區段,若沒有與其他執行緒衝突就一併確定,若發生衝突則取消並重做
在交易式記憶體中,臨界區段會作為交易來執行,期間的寫入視為暫時的,不讓其他執行緒看到。若其他執行緒沒有接觸相同的資料,最後會一次確定所有的寫入;若發生衝突,則全部取消並重做,或切換成一般的鎖。衝突少的時候,即使維持粗粒度的鎖,也能獲得接近細粒度鎖的平行度。
- A. 正確。有時不必取得鎖就能平行執行。
- B. 與記錄到磁碟無關。
- C. 寫入也是會進行的。