Sobes.tech
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()