Regina Calculation Engine
|
A mutual exclusion device (mutex) used to ensure that different threads do not interfere when working with the same data. More...
#include <utilities/nthread.h>
Classes | |
class | MutexLock |
A utility class for locking and unlocking a mutex. More... | |
Public Member Functions | |
NMutex () | |
Creates a new mutex. More... | |
~NMutex () | |
Destroys this mutex. More... | |
A mutual exclusion device (mutex) used to ensure that different threads do not interfere when working with the same data.
A mutex can be either locked or unlocked, and can only be locked by one thread at a time. If a second thread tries to lock the mutex, it will be suspended until the mutex is unlocked by the original locking thread.
A mutex is locked by declaring a local variable of type NMutex::MutexLock. See the NMutex::MutexLock class notes for details.
Classes can inherit from NMutex to provide mutex protection for their internal data; it is recommended that such inheritance be protected
and that the member functions alone take full responsibility for locking and unlocking the mutex when appropriate. Alternatively, a standalone NMutex object can be passed about between routines.
|
inline |
Creates a new mutex.
The mutex will be created unlocked.
|
inline |
Destroys this mutex.