W systemie współdzielonym wielu użytkowników wielu użytkowników korzystających z tych samych danych może prowadzić do niespójności danych, dlatego w operacjach równoległych konieczne są operacje blokady, aby kontrolować jednoczesne wykonywanie transakcji.
Wspólny zamek:Jak widać z nazwy, blokada może być współdzielona, operacja zapisu nie może być udostępniana; gdy tylko współdzielone dane zostaną zapisane losowo, nie ma już "blokady", o której można mówić, więc współdzielona blokada to operacja odczytu "udostępniania", czyli blokada nie może być już zapisana po dodaniu tej blokady, ale może być odczytana i nazywana blokadą tylko do odczytu.
Zamki ekskluzywne:Wyłączny zamek jest bardziej dominujący, dopóki go dodam, nie można przeprowadzić innych operacji, dlaczego? Ponieważ chcę zmodyfikować dane, ponieważ chcę je modyfikować, nie mogę pozwolić innym na ich ponowną modyfikację i nie mogę dodawać blokady tylko do odczytu, ponieważ przy blokadzie tylko do odczytu nie mogę wykonywać operacji zapisu.
Na przykład, jeśli transakcja T1 dodaje współdzieloną blokadę do danych D1, a transakcje T2 i T3 dodają wyłączne blokady do danych D2 i D3 odpowiednio, to transakcja T1 dodaje współdzieloną blokadę do danych (51). Dane par transakcji T2 (52).
(51) Odpowiedź: D
A. D2 i D3 oraz zamek są skuteczne B. D2, D3 oraz wspólne zamki odnoszą sukces C. D2 plus współdzielony zamek się udaje, D3 dodaje, że blokada się nie udaje D. D2, D3 oraz wyłączne zamki i wspólne zamki wszystkie zawodzą
(52) Odpowiedź: C
A. D1, D3 oraz wspólny zamek zawiodły B. D1, D3 plus wspólny zamek odnoszą sukces C. D1 plus wspólny zamek zakończył się sukcesem, D3 dodał kolejny zamek nieudał D. D1 plus zamek zakończyły się sukcesem, a D3 nie dodał wspólnego zamka
Jeśli jest zamek współdzielony, możesz dodać zamek współdzielony, ale nie możesz dodać zamka wyłącznego. Jeśli istnieje zamek wyłączny, to ani zamek współdzielony, ani wyłączny nie mogą zostać dodane.
|