Imagem de fundo

Em um ambiente de banco de dados de um sistema bancário, duas transações são executada...

Em um ambiente de banco de dados de um sistema bancário, duas transações são executadas simultaneamente: uma delas adquire bloqueio exclusivo em A e, em seguida, em B; a outra adquire bloqueio exclusivo em B e, em seguida, em A. Ambas só liberam todos os bloqueios ao término da execução.


Nesse cenário, é mais provável que ocorra


A

starvation da transação mais lenta, sendo a melhor prevenção a implementação de um escalonador baseado em prioridades.


B

violação de isolamento, sendo a melhor prevenção a elevação do nível de isolamento para serializable.


C

detecção de deadlock por timeout, sendo a melhor prevenção a imposição de limites de tempo para a aquisição de bloqueios.


D

deadlock, sendo a melhor prevenção a imposição de uma ordenação total aos recursos, exigindo-se que todas as transações adquiram bloqueios em uma mesma sequência predefinida.


E

condição de corrida (race condition), sendo a melhor prevenção a utilização de bloqueios compartilhados em vez de exclusivos.