Счётчики теряют инкременты без синхронизации. Реализуйте Counter с мьютексом и методами Inc и Value.
- Задача
- Решение
- Обсуждение
Counter: потокобезопасный счётчик
GolangРешение
func (c *Counter) Inc() {
c.mu.Lock()
c.n++
c.mu.Unlock()
}
func (c *Counter) Value() int {
c.mu.Lock()
defer c.mu.Unlock()
return c.n
}