sync.RWMutex Code Reading
📝
内容提要
如果一个 goroutine 持有了读锁进行操作,此时其他的 goroutine 可能尝试获取写锁 (参与竞争),那么在读锁被释放之前,不会有其他 goroutine 获取到读锁 (避免竞争写锁的 goroutine 被饿死), 一个 goroutine 在阻塞获取写锁的过程中,会阻止其他 goroutine 获得读锁。
如果一个 goroutine 持有了读锁进行操作,此时其他的 goroutine 可能尝试获取写锁 (参与竞争),那么在读锁被释放之前,不会有其他 goroutine 获取到读锁 (避免竞争写锁的 goroutine 被饿死), 一个 goroutine 在阻塞获取写锁的过程中,会阻止其他 goroutine 获得读锁。