Sobes.tech
Junior — Middle

Pode explicar o que é bloqueio pessimista e em que se diferencia do otimista?

sobes.tech IA

Resposta da IA

O bloqueio pessimista é uma abordagem para gerir o acesso concorrente aos dados, assumindo que os conflitos ocorrerão frequentemente. Portanto, ao trabalhar com um recurso, bloqueia-se imediatamente para que outras operações não possam alterá-lo até à conclusão da transação atual.

O bloqueio otimista, por outro lado, assume que os conflitos são raros. Ele não bloqueia o recurso ao lê-lo, mas verifica antes de gravar se o recurso mudou desde a leitura. Se houver alterações, a operação é revertida ou repetida.

Exemplo: numa base de dados, o bloqueio pessimista pode ser usado através de consultas SQL com bloqueio de linhas (SELECT ... FOR UPDATE), enquanto o otimista pode ser implementado através de campos de versão ou somas de verificação.