Em um sistema compartilhado multiusuário, múltiplos usuários operando com os mesmos dados podem levar a inconsistência nos dados, portanto, operações de travamento são necessárias em operações concorrentes para controlar a execução simultânea das transações.
Fechadura Compartilhada:Como pode ser visto pelo nome, o bloqueio pode ser compartilhado, a operação de escrita não pode ser compartilhada, assim que os dados compartilhados são escritos aleatoriamente, não há "bloqueio" para se referir, então o bloqueio compartilhado é a operação de leitura "compartilhado", ou seja, o bloqueio não pode mais ser escrito após a adição desse bloqueio, mas pode ser lido, também pode ser chamado de bloqueio somente leitura.
Fechaduras exclusivas:O bloqueio exclusivo é mais dominador, enquanto eu adicionar esse bloqueio, outras operações não podem ser realizadas, por quê? Como quero modificar os dados, como quero modificá-los, não posso deixar que outros modifiquem novamente, e não posso adicionar um bloqueio somente leitura, porque com um bloqueio somente leitura, não posso realizar operações de escrita.
Por exemplo, se a transação T1 adiciona um bloqueio compartilhado aos dados D1, e as transações T2 e T3 adicionam bloqueios exclusivos aos dados D2 e D3, respectivamente, então a transação T1 adiciona um bloqueio compartilhado aos dados (51). Dados do par T2 da transação (52).
(51) Resposta: D
A. D2 e D3 mais a fechadura são bem-sucedidos B. D2, D3 mais trava compartilhada são bem-sucedidos C. D2 mais a trava compartilhada tem sucesso, D3 acrescenta que a trava falha D. D2, D3 mais bloqueios exclusivos e compartilhados falham
(52) Resposta: C
A. D1, D3 mais a trava compartilhada falharam todos B. D1, D3 mais a eclusa compartilhada são bem-sucedidas C. D1 mais bloqueio compartilhado teve sucesso, D3 adicionou outro bloqueio falhou D. D1 mais a fechadura conseguiram, e D3 não adicionou a fechadura compartilhada
Se houver uma fechadura compartilhada, você pode adicionar uma fechadura compartilhada, mas não pode adicionar uma fechadura exclusiva. Se houver um bloqueio exclusivo, então nem o bloqueio compartilhado nem o bloqueio exclusivo podem ser adicionados.
|