Files
deep_go/lessons/sync_primitives/rw_mutex_with_map/main.go

24 lines
333 B
Go

package main
import "sync"
type Counters struct {
mu sync.RWMutex
m map[string]int
}
func (c *Counters) Load(key string) (int, bool) {
c.mu.RLock()
defer c.mu.RUnlock()
value, found := c.m[key]
return value, found
}
func (c *Counters) Store(key string, value int) {
c.mu.Lock()
defer c.mu.Unlock()
c.m[key] = value
}