common::Mutex Class Reference
[Threads Module]

Muteks. More...

#include <Threads.hpp>

List of all members.

Public Member Functions

 Mutex (uint Flag)
 ~Mutex ()
void Lock ()
 Blokuje muteks.
void Unlock ()
 Odblokowuje muteks.
bool TryLock ()
 Próbuje wejść do sekcji krytycznej.
bool TimeoutLock (uint Milliseconds)
 Próbuje wejść do sekcji krytycznej czekając co najwyżej podany czas.

Static Public Attributes

Flagi bitowe do konstruktora



static const uint FLAG_RECURSIVE = 0x01
 Podaj, jeśli będziesz robił w ramach jednego wątku zagnieżdżone blokowania.
static const uint FLAG_WAIT_TIMEOUT = 0x02
 Podaj, jeśli będziesz używał metody TimeoutLock.

Friends

class Mutex_pimpl
class Cond

Detailed Description

Muteks.

Obiekt do wyznaczania sekcji krytycznej na wzajemnie wykluczającą się wyłączność jednego wątku.


Constructor & Destructor Documentation

common::Mutex::Mutex ( uint  Flag  ) 
common::Mutex::~Mutex (  ) 

Member Function Documentation

void common::Mutex::Lock (  ) 

Blokuje muteks.

bool common::Mutex::TimeoutLock ( uint  Milliseconds  ) 

Próbuje wejść do sekcji krytycznej czekając co najwyżej podany czas.

  • Jeśli się uda, wchodzi blokując muteks i zwraca true.
  • Jeśli się nie uda przez podany czas, bo muteks jest zablokowany przez inny wątek, zwraca false.
bool common::Mutex::TryLock (  ) 

Próbuje wejść do sekcji krytycznej.

  • Jeśli się uda, wchodzi blokując muteks i zwraca true.
  • Jeśli się nie uda bo muteks jest zablokowany przez inny wątek, nie blokuje sterowania tylko zawraca false.
void common::Mutex::Unlock (  ) 

Odblokowuje muteks.


Friends And Related Function Documentation

friend class Cond [friend]
friend class Mutex_pimpl [friend]

Member Data Documentation

const uint common::Mutex::FLAG_RECURSIVE = 0x01 [static]

Podaj, jeśli będziesz robił w ramach jednego wątku zagnieżdżone blokowania.

const uint common::Mutex::FLAG_WAIT_TIMEOUT = 0x02 [static]

Podaj, jeśli będziesz używał metody TimeoutLock.


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