Zmienna warunkowa. More...
#include <Threads.hpp>
Public Member Functions | |
| Cond () | |
| ~Cond () | |
| void | Wait (Mutex *m) |
| Odblokowuje muteks, zawiesza wątek czekając na sygnał, po doczekaniu się blokuje muteks z powrotem. | |
| bool | TimeoutWait (Mutex *m, uint Milliseconds) |
| Odblokowuje muteks, zawiesza wątek czekając na sygnał przez co najwyżej podany czas, po doczekaniu się blokuje muteks z powrotem. | |
| void | Signal () |
| Odwiesza przypadkowy jeden czekający wątek. | |
| void | Broadcast () |
| Odwiesza wszystkie czekające wątki. | |
Zmienna warunkowa.
Nie pamięta żadnego swojego stanu. Pozwala za to zawiesić wątek żeby na niej poczekał (Wait()) oraz wznowić niezdefiniowany jeden (Signal()) lub wszystkie (Broadcast()) czekające na niej wątki. Sensu nabiera dopiero kiedy zrozumie się sposób jej użycia w kontekście wzorca monitora do sprawdzania warunku.
| common::Cond::Cond | ( | ) |
| common::Cond::~Cond | ( | ) |
| void common::Cond::Broadcast | ( | ) |
Odwiesza wszystkie czekające wątki.
| void common::Cond::Signal | ( | ) |
Odwiesza przypadkowy jeden czekający wątek.
Odblokowuje muteks, zawiesza wątek czekając na sygnał przez co najwyżej podany czas, po doczekaniu się blokuje muteks z powrotem.
| void common::Cond::Wait | ( | Mutex * | m | ) |
Odblokowuje muteks, zawiesza wątek czekając na sygnał, po doczekaniu się blokuje muteks z powrotem.
Muteks m musi być zablokowany w chwili tego wywołania.
1.6.1