ReadLock acquires the read side of a readers–writer mutex. Multiple goroutines may enter the shared resource together, while a writer is blocked until every active reader leaves. section 4.2.2
Shared-room model
Imagine readers entering a shared room through one entrance and writers through another. The first reader locks the writers’ entrance; later readers can still enter. ReadUnlock decrements the count and reopens the writers’ entrance when the last reader leaves. section 4.2.2
