讀寫者問題 讀寫鎖SRWLock-秒殺多線程
2023-03-22 20:48 作者:ベ計(jì)院小白隆ミ | 我要投稿
讀寫鎖在對資源進(jìn)行保護(hù)的同時(shí),還能區(qū)分想要讀取資源值的線程(讀取者線程)和想要更新資源的線程(寫入者線程)。對于讀取者線程,讀寫鎖會(huì)允許他們并發(fā)的執(zhí)行。當(dāng)有寫入者線程在占有資源時(shí),讀寫鎖會(huì)讓其它寫入者線程和讀取者線程等待。因此用讀寫鎖來解決讀者寫者問題會(huì)使代碼非常清晰和簡潔。
讀寫鎖的主要函數(shù)就五個(gè),分為初始化函數(shù),寫入者線程申請和釋放函數(shù),讀取者線程申請和釋放函數(shù),以下是詳細(xì)的函數(shù)使用說明:
InitializeSRWLock
函數(shù)說明:初始化(沒有刪除或銷毀SRWLOCK的函數(shù),系統(tǒng)會(huì)自動(dòng)清理)
AcquireSRWLockExclusive
ReleaseSRWLockExclusive
AcquireSRWLockShared
ReleaseSRWLockShared
注意一個(gè)線程僅能鎖定資源一次,不能多次鎖定資源。

參考:https://blog.csdn.net/morewindows/article/details/7650574