Senior
O que é bloqueio pessimista?
sobes.tech IA
Resposta da IA
O bloqueio pessimista é uma abordagem para gerir o acesso concorrente aos dados, na qual o recurso é bloqueado imediatamente no início da operação para evitar conflitos. Ou seja, quando uma transação quer modificar dados, ela adquire um bloqueio, e outras transações aguardam até que o bloqueio seja libertado.
Em Go, isto pode ser implementado usando mutexes (sync.Mutex), que bloqueiam o acesso a dados partilhados:
var mu sync.Mutex
func updateData() {
mu.Lock() // bloqueio pessimista
defer mu.Unlock()
// secção crítica
}
Esta abordagem garante que apenas uma goroutine pode modificar os dados de cada vez, mas pode levar a uma redução do paralelismo e bloqueios.