Урок 89 · Задача 1

Stats: публичный и внутренний методы

Повторный Lock в той же горутине — дедлок. Реализуйте Stats: внутренний valueLocked без блокировки, публичные Value и Snapshot берут Lock и вызывают внутренний.

00:00:00
Показать решение
GolangРешение
func (s *Stats) valueLocked() int {
	return s.processed
}

func (s *Stats) Value() int {
	s.mu.Lock()
	defer s.mu.Unlock()
	return s.valueLocked()
}

func (s *Stats) Snapshot() int {
	s.mu.Lock()
	defer s.mu.Unlock()
	return s.valueLocked()
}
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки