common::Cond Class Reference
[Threads Module]

Zmienna warunkowa. More...

#include <Threads.hpp>

List of all members.

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.

Detailed Description

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.


Constructor & Destructor Documentation

common::Cond::Cond (  ) 
common::Cond::~Cond (  ) 

Member Function Documentation

void common::Cond::Broadcast (  ) 

Odwiesza wszystkie czekające wątki.

  • Jeśli żaden wątek nie czeka, nie robi nic.
  • Nie jest wymagane żeby jakiś muteks musiał być zablokowany w chwili tego wywołania.
void common::Cond::Signal (  ) 

Odwiesza przypadkowy jeden czekający wątek.

  • Jeśli żaden wątek nie czeka, nie robi nic.
  • Nie jest wymagane żeby jakiś muteks musiał być zablokowany w chwili tego wywołania.
bool common::Cond::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.

  • Jeśli w tym czasie nastąpiło przerwanie czekania przez sygnał, zwraca true.
  • Muteks m musi być zablokowany w chwili tego wywołania.
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.


The documentation for this class was generated from the following file:

Generated on Wed Dec 16 20:44:55 2009 for CommonLib by  doxygen 1.6.1