什麼是讀寫鎖(Reader-writer lock)
只讀取的執行緒可同時進入任意多個,但寫入的執行緒只能有一個,且此時其他任何人都不能進入的鎖。
日文名稱: 読み書きロック
「讀寫鎖(Reader-writer lock)」出現在1領域的1道練習題中(多核心與同步等)。
這個名詞所屬的領域: 多核心與同步
只讀取的執行緒可同時進入任意多個,但寫入的執行緒只能有一個,且此時其他任何人都不能進入的鎖。
日文名稱: 読み書きロック
「讀寫鎖(Reader-writer lock)」出現在1領域的1道練習題中(多核心與同步等)。
這個名詞所屬的領域: 多核心與同步
正確答案:B. 只讀取的執行緒可以有任意多個同時進入,但寫入的執行緒只能有1個,且此時其他任何人都不能進入
只讀取的話,同時進行也不會破壞資料,所以讀寫鎖允許讀取者之間同時執行,只讓寫入者獨占。對於像設定表這種常被讀取、很少被改寫的資料,可以提高平行度。不過若讀取者源源不絕,寫入者可能一直進不去,因此有些實作會設計成讓寫入者優先。
只讀取的話,同時進行也不會破壞資料,所以讀寫鎖允許讀取者之間同時執行,只讓寫入者獨占。
關於讀寫鎖(reader-writer lock)的特徵,下列何者正確?互斥鎖(Mutex) 比較並交換(Compare-and-swap) 目錄式一致性(Directory-based coherence) 交易式記憶體(Transactional memory) 死結(Deadlock) 自旋鎖(Spinlock) 屏障同步(Barrier synchronization) 原子指令(Atomic instruction) 記憶體一致性模型(Memory consistency model) 記憶體屏障(Memory barrier)