SOP wyk nr 13-Slajd47: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
m zmiana tytułu |
||
Linia 1: | Linia 1: | ||
== | ==Synchronizacja producenta i konsumenta za pomocą regionu krytycznego (2)== | ||
[[Image:SOP_wyk_nr_13-Slajd47.PNG| | [[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)
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 .