Junior — Middle
Pode-se usar uma única bandeira para controlar o bloqueio Mutex?
sobes.tech IA
Resposta da IA
Não, não se pode usar uma única bandeira para gerir o bloqueio de Mutex em Go. sync.Mutex é uma estrutura com um estado interno, e não pode ser substituída por uma simples bandeira booleana, pois isso não garantiria uma sincronização correta entre as goroutines.
O uso de uma única bandeira não garante a atomicidade das operações de bloqueio e desbloqueio, o que pode levar a condições de corrida e erros.
A forma correta é usar os métodos Lock() e Unlock() do pacote sync:
var mu sync.Mutex
mu.Lock()
// secção crítica
mu.Unlock()