ExpertiDict

Go · Essencial · Inglês · Técnico

mutex

/ˈmjuː.tɛks/substantivo

Trava de exclusão mútua do pacote sync. Lock e Unlock garantem que só uma goroutine por vez acesse a seção crítica que protege os dados compartilhados.

Onde usar

Usado para proteger um mapa ou contador acessado por várias goroutines. O padrão é Lock seguido de defer Unlock, para liberar a trava mesmo em caso de panic.

Em código

var mu sync.Mutex
var n int
func inc() {
  mu.Lock()
  defer mu.Unlock()
  n++
}

Exemplos

Protect the map with a mutex.

Proteja o map com um mutex.

Always unlock the mutex with defer.

Sempre destrave o mutex com defer.

Cuidado

Não copie um struct que contém Mutex depois de usado; o go vet avisa, e a cópia carrega o estado da trava.

Sinônimos

trava de exclusão mútua

Origem

Abreviação de mutual exclusion, 'exclusão mútua'.

Veja também

Todos os termos de Go