IncIf: Unlock через defer
Ранний return забыл разблокировку. Реализуйте IncIf(cond bool): поставьте defer c.mu.Unlock() сразу после Lock, чтобы мьютекс освобождался на любом пути выхода.
Показать решение
GolangРешение
func (c *Counter) IncIf(cond bool) {
c.mu.Lock()
defer c.mu.Unlock()
if !cond {
return
}
c.n++
}Записаться на разбор
10 000 ₽ · 60 минут · онлайн