SOP wyk nr 13-Slajd47

Z Studia Informatyczne
Wersja z dnia 10:57, 16 sie 2006 autorstwa Dwa (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Synchron. producenta i konsumenta za pomocą regionu krytycznego (2)

Synchron. 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 >>