Glib::Mutex Class Reference
[Threads]
Represents a mutex (mutual exclusion).
More...
Public Member Functions | |
Mutex () | |
~Mutex () | |
void | lock () |
Locks the mutex. | |
bool | trylock () |
Tries to lock the mutex. | |
void | unlock () |
Unlocks the mutex. | |
GMutex* | gobj () |
Classes | |
class | Lock |
Utility class for exception-safe mutex locking. More... |
Detailed Description
Represents a mutex (mutual exclusion).It can be used to protect data against shared access. Try to use Mutex::Lock instead of calling lock() and unlock() directly -- it will make your life much easier.
- Note:
- Before creating a Glib::Mutex, Glib::thread_init() has to be called.
Glib::Mutex is not recursive, i.e. a thread will deadlock, if it already has locked the mutex while calling lock(). Use Glib::RecMutex instead, if you need recursive mutexes.
- Examples:
Constructor & Destructor Documentation
Glib::Mutex::Mutex | ( | ) |
Glib::Mutex::~Mutex | ( | ) |
Member Function Documentation
void Glib::Mutex::lock | ( | ) |
Locks the mutex.
If mutex is already locked by another thread, the current thread will block until mutex is unlocked by the other thread.
- See also:
- Mutex::Lock
bool Glib::Mutex::trylock | ( | ) |
Tries to lock the mutex.
If the mutex is already locked by another thread, it immediately returns false
. Otherwise it locks the mutex and returns true
.
- Returns:
- Whether the mutex could be locked.
- See also:
- Mutex::Lock
void Glib::Mutex::unlock | ( | ) |
Unlocks the mutex.
If another thread is blocked in a lock() call for this mutex, it will be woken and can lock the mutex itself.
- See also:
- Mutex::Lock
GMutex* Glib::Mutex::gobj | ( | ) | [inline] |
The documentation for this class was generated from the following file: