GOLANG读写锁sync.RWMutex 原理分析
golang 中用sync.RWMutex实现了读写锁的协程间同步。
主要的数据结构如下。w是互斥锁,readerCount记录正在读取操作的协程数量同时也实现读锁。互斥锁w和readerCount共同实现了写锁。readerWait用来读锁都释放后唤醒写锁的记录数。writerSem,readerSem分别是等待读完成和写完成的信号量。
type RWMutex struct {
w Mutex // held if there are pending writers
wr
原创
2021-04-25 11:27:53 ·
840 阅读 ·
0 评论