讀寫鎖

讀寫鎖是計算機程序的併發控制的一種同步機制 ， 也稱 “ 共享 - 互斥鎖 ” 、 多讀者 - 單寫者鎖 。 多讀者鎖 ， ， “ push lock ” ) 用於解決 。 讀操作可併發重入 ， 寫操作是互斥的 。 這意味着多個線程可以同時讀數據 ， 但寫數據時需要獲得一個獨佔的鎖 。 當寫者寫數據時 ， 其它寫者或讀者需要等待 ， 直到這個寫者完成寫操作 。 讀寫鎖常見的用法是控制線程對內存中的某種數據結構的訪問 ， 這種數據結構不能被原子性地更新 ， 並且在完成更新之前都是無效的 。 讀寫鎖通常用互斥鎖 、 條件變量 、 信號量實現 。 某些讀寫鎖允許在讀模式與寫模式之間升降級 。