BDE 4.14.0 Production release
|
#include <bslmt_mutex.h>
Public Types | |
typedef MutexImpl< Platform::ThreadPolicy >::NativeType | NativeType |
Public Member Functions | |
Mutex () | |
~Mutex () | |
void | lock () |
NativeType & | nativeMutex () |
int | tryLock () |
void | unlock () |
This class
implements a lightweight, portable wrapper of an OS-level mutex lock to support intra-process synchronization. The behavior is undefined if the lock
method of this class is invoked more than once on the same mutex object in the same thread without an intervening call to unLock
.
See bslmt_mutex
typedef MutexImpl<Platform::ThreadPolicy>::NativeType bslmt::Mutex::NativeType |
NativeType
is an alias for the underlying OS-level mutex type. It is exposed so that other bslmt
components can operate directly on this mutex.
|
inline |
Create a mutex object in the unlocked state. This method does not return normally unless there are sufficient system resources to construct the object.
|
inline |
Destroy this mutex object. The behavior is undefined if the mutex is in a locked state.
|
inline |
Acquire a lock on this mutex object. If this object is currently locked by a different thread, then suspend execution of the current thread until a lock can be acquired. The behavior is undefined if the calling thread already owns the lock on this mutex, and may result in deadlock.
|
inline |
Return a reference to the modifiable OS-level mutex underlying this object. This method is intended only to support other bslmt
components that must operate directly on this mutex.
|
inline |
Attempt to acquire a lock on this mutex object. Return 0 on success, and a non-zero value if this object is already locked by a different thread. The behavior is undefined if the calling thread already owns the lock on this mutex, and may result in deadlock.
|
inline |
Release a lock on this mutex that was previously acquired through a call to lock
, or a successful call to tryLock
, enabling another thread to acquire a lock on this mutex. The behavior is undefined unless the calling thread currently owns the lock on this mutex.