Sobes.tech
Junior — Middle

Para que serve o mecanismo de exclusão mútua (Mutex) na programação multithread?

sobes.tech IA

Resposta da IA

O mecanismo de exclusão mútua (Mutex) na programação multithread é usado para evitar o acesso simultâneo de vários threads a recursos compartilhados ou seções críticas do código. Isso ajuda a evitar condições de corrida, corrupção de dados e garante a correção do funcionamento do programa.

Em Go, para isso, frequentemente se usa sync.Mutex:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // bloqueio do mutex
    counter++           // seção crítica
    mu.Unlock()         // desbloqueio do mutex
}

Dessa forma, apenas um thread pode executar o código entre Lock e Unlock ao mesmo tempo.