Monitor vs Semafor

0

Witam,
http://smurf.mimuw.edu.pl/node/1260
Napisano:
"Podstawową wadą semafora jest to, że nie jest to mechanizm strukturalny, przez co trudno jest analizować programy współbieżne i ogarnąć wszystkie możliwe przeploty. Dochodzą do tego częste błędy polegające chociażby na niezamierzonej zamianie operacji P i V ze sobą."
Napisano:
"Powyższych wad jest pozbawiony monitor, który stanowi połączenie modułu programistycznego z sekcją krytyczną. Monitor jest po prostu modułem zawierającym deklaracje stałych, zmiennych, funkcji i procedur. Wszystkie te obiekty, z wyjątkiem jawnie wskazanych funkcji i procedur są lokalne w monitorze i nie są widoczne na zewnątrz niego. Wskazane funkcje i procedury (tzw. eksportowane) są widoczne na zewnątrz monitora. Mogą je wywoływać procesy i za ich pośrednictwem manipulować danymi ukrytymi w monitorze. Monitor zawiera też kod, który służy do jego inicjacji, na przykład do ustawienia wartości początkowych zmiennych deklarowanych w monitorze."

Pytanie: Czy w XXI wieku są jeszcze powody, dla których wolelibyśmy używać monitory niż semafory?

Pozdrawiam,

0

Oczywiście że tak! Monitor pozwala nam synchronizować się "na obiekcie" a semafor pozwala synchronizować się "na miejscu".

1 użytkowników online, w tym zalogowanych: 0, gości: 1