BD-2st-1.2-w09.tresc-1.1-Slajd14

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Algorytm blokowania dwufazowego (3)

Algorytm blokowania dwufazowego (3)


Dla ilustracji działania algorytmu blokowania dwu-fazowego rozważmy ponownie przykładową realizację transakcji T1 i T2 ze slajdu nr 11. Transakcja T1 po uzyskaniu blokady do odczytu danej Y i uzyskaniu blokady do zapisu danej X wykonuje odczyt obu danych, aktualizuje i zapisuje daną X. Następnie, zdejmuje blokady danych X i Y. Współbieżnie, transakcja T2 żąda założenia blokady do odczytu danej X. Ponieważ dana X jest zablokowana przez transakcję T1 do zapisu, żądanie transakcji T2 nie może być zrealizowane i transakcja T2 zostaje umieszczona w kolejce transakcji oczekujących na uwolnienie danej X. Po odblokowaniu danej X przez transakcję T1, realizacja transakcji T2 jest wznowiona. T2 realizuje odczyt danych X i Y, aktualizuje i zapisuje nową wartość danej Y.

Końcowy stan bazy danych uzyskany w wyniku przedstawionego współbieżnego wykonania transakcji T1 i T2 wynosi tym razem X=50 i Y=80. Zauważmy, że tym razem stan końcowy bazy danych jest równoważny stanowi bazy danych uzyskanemu w wyniku sekwencyjnej realizacji transakcji T1 i T2. Oznacza to, że przedstawiona realizacja współbieżna transakcji jest uszeregowalna.


<< Poprzedni slajd | Spis treści | Następny slajd >>