SOP wyk nr 13-Slajd47: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Dwa (dyskusja | edycje)
Nie podano opisu zmian
 
Dwa (dyskusja | edycje)
m zmiana tytułu
 
Linia 1: Linia 1:
==Synchron. producenta i konsumenta za pomocą regionu krytycznego (2)==
==Synchronizacja producenta i konsumenta za pomocą regionu krytycznego (2)==


[[Image:SOP_wyk_nr_13-Slajd47.PNG|Synchron. producenta i konsumenta za pomocą regionu krytycznego (2)]]
[[Image:SOP_wyk_nr_13-Slajd47.PNG|Synchronizacja producenta i konsumenta za pomocą regionu krytycznego (2)]]





Aktualna wersja na dzień 00:34, 6 wrz 2006

Synchronizacja producenta i konsumenta za pomocą regionu krytycznego (2)

Synchronizacja producenta i konsumenta za pomocą regionu krytycznego (2)


Zasada działania tego rozwiązania jest zbliżona do monitora. Jak już wspomniano przy ogólnej definicji regionu krytycznego, różnicą jest tylko sposób opisu fragmentu kodu, wykonywanego w trybie wyłącznym oraz sposób blokowania producentów i konsumentów w dostępie do bufora.

Wzajemne wykluczanie dotyczy fragmentu kodu objętego konstrukcją region , zatem trzech operacji podstawienia, modyfikujących składowe rekordu buf . Takie same operacje w przypadku monitora znajdowały się w implementacji wejścia wstaw .

Usypianie i budzenie odbywa się niejawnie w zależności od wypełnienia bufora. Taki sam warunek sprawdzany był w przypadku monitora, ale usypianie a następnie budzenie wymagało jawnego użycia w kodzie instrukcji wait i signal .


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