Вопрос: Как использовать `sync.RWMutex` и когда он полезен?
Python
Senior
Без компании
Вопрос: Как использовать `sync.RWMutex` и когда он полезен?
Ответы
```go
type Cache struct {
mu sync.RWMutex
m map[string]string
}
func (c *Cache) Get(k string) (string, bool) {
c.mu.RLock()
defer c.mu.RUnlock()
v, ok := c.m[k]
return v, ok
}
func (c *Cache) Set(k, v string) {
c.mu.Lock()
defer c.mu.Unlock()
c.m[k] = v
}
```
**Как это работает:** `RWMutex` позволяет множественные читатели параллельно, но запись эксклюзивна.