Сотни горутин инкрементят счётчик без мьютексов. Реализуйте AtomicCounter на atomic.Int64: Inc через Add, Value через Load.
- Задача
- Решение
- Обсуждение
AtomicCounter: атомарный счётчик
GolangРешение
func (c *AtomicCounter) Inc() {
c.n.Add(1)
}
func (c *AtomicCounter) Value() int64 {
return c.n.Load()
}