Ed
ano passado
Vamos analisar as possíveis sequências de execução das operações para garantir a consistência do saldo final da conta: O1 - Lê o saldo de uma conta x; O2 - Subtrai uma quantia desse saldo; O3 - Grava esse saldo recalculado. Considerando que P1 deve retirar R$ 10,00 da conta 2345 e P2, R$ 30,00 da mesma conta, vamos analisar as sequências: I. P1 lê o saldo (digamos, R$ 100,00), subtrai R$ 10,00 (saldo recalculado: R$ 90,00) e grava esse saldo. Enquanto isso, P2 lê o saldo (ainda R$ 100,00), subtrai R$ 30,00 (saldo recalculado: R$ 70,00) e grava esse saldo. Essa sequência é válida, pois cada processo lê o saldo antes de modificá-lo. II. P1 lê o saldo (R$ 100,00), P2 lê o saldo (ainda R$ 100,00), P1 subtrai R$ 10,00 (saldo recalculado: R$ 90,00), P2 subtrai R$ 30,00 (saldo recalculado: R$ 70,00) e ambos gravam seus saldos recalculados. Essa sequência também é válida, pois cada processo lê o saldo antes de modificá-lo. III. P1 lê o saldo (R$ 100,00), P2 lê o saldo (ainda R$ 100,00), P2 subtrai R$ 30,00 (saldo recalculado: R$ 70,00), P1 subtrai R$ 10,00 (saldo recalculado: R$ 90,00) e ambos gravam seus saldos recalculados. Essa sequência também é válida, pois cada processo lê o saldo antes de modificá-lo. IV. P1 lê o saldo (R$ 100,00), P2 lê o saldo (ainda R$ 100,00), P1 subtrai R$ 10,00 (saldo recalculado: R$ 90,00), P2 subtrai R$ 30,00 (saldo recalculado: R$ 70,00) e ambos gravam seus saldos recalculados. Essa sequência não é válida, pois P2 deveria ter lido o saldo atualizado por P1 antes de realizar sua operação. Portanto, as únicas sequências que podem ser admitidas pelo controle de concorrência, de modo a não introduzir erros no saldo final da conta, são I e II. Assim, a alternativa correta é: (A) I e II.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Mais perguntas desse material