SO-1st-2.3-w12.tresc-1.0-Slajd48
Z Studia Informatyczne
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 .