Monitory

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 1: Řádka 1:
 
Monitor je synchronizační primitivum, které se používá pro řizeni přístupu ke sdíleným prostředkům. Jeho zvláštností
 
Monitor je synchronizační primitivum, které se používá pro řizeni přístupu ke sdíleným prostředkům. Jeho zvláštností
−
je, že jde o speciální konstrukci programovaciho jazyka (musí ho tedy implementovat překladač), typicky im-
+
je, že jde o speciální konstrukci programovacího jazyka (musí ho tedy implementovat překladač), typicky im-
 
plementovanou pomocí jineho synchronizačního primitiva. Výhodou monitoru oproti jiným primitivum je jeho
 
plementovanou pomocí jineho synchronizačního primitiva. Výhodou monitoru oproti jiným primitivum je jeho
 
vysokoúrovňovost - snadněji se používá a je bezpečnější. Při jeho použití je méně pravděpodobné, že programátor
 
vysokoúrovňovost - snadněji se používá a je bezpečnější. Při jeho použití je méně pravděpodobné, že programátor
Řádka 13: Řádka 13:
 
* Podmínky mohou být definovány a použity pouze uvnitř monitoru
 
* Podmínky mohou být definovány a použity pouze uvnitř monitoru
 
* Nad podmínkami jsou definovány dvě operace:
 
* Nad podmínkami jsou definovány dvě operace:
−
  **c.wait - volající bude pozastaven nad podmínkou c. Pokud je některý proces připraven vstoupit do monitoru, bude mu to dovoleno
+
** c.wait - volající bude pozastaven nad podmínkou c. Pokud je některý proces připraven vstoupit do monitoru, bude mu to dovoleno
−
  ** c.signal - pokud existuje jeden nebo více procesů pozastavených nad podmínkou c, reaktivuje jeden z pozastavených procesů, tj. bude mu dovoleno pokračovat v běhu uvnitř monitoru pokud nad podmínkou nespí žádný proces, nedělá nic
+
** c.signal - pokud existuje jeden nebo více procesů pozastavených nad podmínkou c, reaktivuje jeden z pozastavených procesů, tj. bude mu dovoleno pokračovat v běhu uvnitř monitoru pokud nad podmínkou nespí žádný proces, nedělá nic

Verze z 15. 8. 2011, 10:07

Monitor je synchronizační primitivum, které se používá pro řizeni přístupu ke sdíleným prostředkům. Jeho zvláštností je, že jde o speciální konstrukci programovacího jazyka (musí ho tedy implementovat překladač), typicky im- plementovanou pomocí jineho synchronizačního primitiva. Výhodou monitoru oproti jiným primitivum je jeho vysokoúrovňovost - snadněji se používá a je bezpečnější. Při jeho použití je méně pravděpodobné, že programátor udělá chybu.


Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje