草庐IT

go - 如何在 Golang 中使用 RWMutex?

typeStatstruct{countersmap[string]*int64countersLocksync.RWMutexaveragesmap[string]*int64averagesLocksync.RWMutex}它在下面被称为func(s*Stat)Count(namestring){s.countersLock.RLock()counter:=s.counters[name]s.countersLock.RUnlock()ifcounter!=nil{atomic.AddInt64(counter,int64(1))return}}我的理解是,我们首先锁定接收者s(这

go - 如何在 Golang 中使用 RWMutex?

typeStatstruct{countersmap[string]*int64countersLocksync.RWMutexaveragesmap[string]*int64averagesLocksync.RWMutex}它在下面被称为func(s*Stat)Count(namestring){s.countersLock.RLock()counter:=s.counters[name]s.countersLock.RUnlock()ifcounter!=nil{atomic.AddInt64(counter,int64(1))return}}我的理解是,我们首先锁定接收者s(这