• Задача
  • Решение
  • Обсуждение

ShardedCounter: счётчик на ячейках

Иногда лучший мьютекс — тот, которого нет. Реализуйте ShardedCounter: каждая горутина пишет в свою ячейку без блокировок, Total — сумма ячеек.

GolangРешение
func (c *ShardedCounter) Inc(i int) {
	c.cells[i]++
}

func (c *ShardedCounter) Total() int64 {
	var sum int64
	for _, v := range c.cells {
		sum += v
	}
	return sum
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки