Condition
Tato třída reprezentuje podmíněnou proměnnou. Podmíněná proměnná je
spojená s mutexem, který chrání přístup ke
sdíleným datům, a zároveň obsahuje booleovský predikát (metodu), jenľ
určuje, zda jsou data v konzistentním stavu.
Class was derived from: Mutex

-
Broadcast(void)
- Uvolní vąechny vlákna čekající na podmíněnou proměnnou.
-
Signal(void)
- Uvolní alespoň jedno vlákno čekající na podmíněnou proměnnou.
-
Wait(void)
- Volající vlákno bude čekat, aľ bude splněna podmínka daná touto proměnnou.
-
TimedWait(const struct timespec *delta)
- Volající vlákno bude čekat, aľ bude splněna podmínka daná touto
proměnnou, nejdéle vąak daný časový interval.
-
Wait(unsigned long)
- Volající vlákno bude čekat, aľ bude splněna podmínka daná touto
proměnnou, nejdéle vąak daný časový interval.
-
isReady(void)
- Booleovská funkce vracející hodnotu dané podmínky.

-
Broadcast
int Broadcast(void)
Tato metoda odblokuje vąechna vlákna čekající na danou podmíněnou
proměnnou. Kaľdé vlákno, které mění hodnotu predikátu, by mělo volat
Signal() nebo Broadcast().
-
Signal
int Signal(void)
Metoda odblokuje alespoň jedno vlákno čekající na danou podmíněnou proměnnou.
-
Wait
int Wait(void)
Tato metoda zablokuje volající vlákno do doby, neľ bude na danou
podmíněnou proměnnou volán Broadcast() nebo
Signal(). Po odblokování vlákna metoda zkontroluje hodnotu
predikátu (vlákno můľe být ve zvláątním případě odblokováno i bez
signalizace podmíněné proměnné) a v případě, ľe data nejsou v
konzistentním stavu, vlákno se opět zablokuje a čeká na daląí
Broadcast() nebo Signal() (respektive odblokování).
-
TimedWait
int TimedWait(const struct timespec *delta)
Stejně jako Wait(), ale čeká pouze specifikovanou dobu.
-
Wait
int Wait(unsigned long)
-
-
isReady
bool isReady(void)
Vyhodnocuje hodnotu daného predikátu. Zde jako default vrací true.
Michal Voců