|
|
A simple mutual exclusion for locking access between threads
explicit Mutex (bool recursive = false, const char* name = 0)
| Mutex |
Construct a new unlocked mutex
Parameters:
recursive | True if the mutex has to be recursive (reentrant), false for a normal fast mutex |
name | Static name of the mutex (for debugging purpose only) |
Mutex (const Mutex& original)
| Mutex |
Copy constructor, creates a shared mutex
Parameters:
original | Reference of the mutex to share |
~Mutex ()
| ~Mutex |
Destroy the mutex
Mutex& operator= (const Mutex& original)
| operator= |
Assignment operator makes the mutex shared with the original
Parameters:
original | Reference of the mutex to share |
bool lock (long maxwait = -1)
| lock |
[virtual]
Attempt to lock the mutex and eventually wait for it
Parameters:
maxwait | Time in microseconds to wait for the mutex, -1 wait forever |
Returns: True if successfully locked, false on failure
Reimplemented from Lockable.
bool unlock ()
| unlock |
[virtual]
Unlock the mutex, does never wait
Returns: True if successfully unlocked the mutex
Reimplemented from Lockable.
bool locked ()
| locked |
[const virtual]
Check if the mutex is currently locked - as it's asynchronous it guarantees nothing if other thread changes the mutex's status
Returns: True if the mutex was locked when the function was called
Reimplemented from Lockable.
const char* owner ()
| owner |
[const]
Retrieve the name of the Thread (if any) holding the Mutex locked
Returns: Thread name() or NULL if thread not named
bool recursive ()
| recursive |
[const]
Check if this mutex is recursive or not
Returns: True if this is a recursive mutex, false for a fast mutex
int count ()
| count |
[static]
Get the number of mutexes counting the shared ones only once
Returns: Count of individual mutexes
int locks ()
| locks |
[static]
Get the number of currently locked mutexes
Returns: Count of locked mutexes, should be zero at program exit
bool efficientTimedLock ()
| efficientTimedLock |
[static]
Check if a timed lock() is efficient on this platform
Returns: True if a lock with a maxwait parameter is efficiently implemented
Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54. |