#include
<MSpinLock.h>
List of all
members.
Detailed Description
Methods for managing spin locks on threads created with
MThreadPool
and
MThreadAsync.
Lightweight spin-lock class to be used with threads created by
MThreadPool
and MThreadAsync.
Constructor & Destructor Documentation
Create new spin lock object. The object is created unlocked.
| MSpinLock::~MSpinLock |
( |
|
) |
|
Destructor.
Calling the desctructor on a locked spin lock object does not
unlock the object. That must be done by calling unlock()
before calling the destructor.
Member Function Documentation
Create a lock. If the object is available it is locked
immediately. If it is already locked by another thread, this
function waits until the other thread has unlocked it, then creates
the lock.
| void MSpinLock::unlock |
( |
|
) |
|
Release the current lock.
| bool MSpinLock::tryLock |
( |
|
) |
|
Attempt to lock the object. If the object is already locked by
another thread, the function returns right away.
- Returns:
-
- true lock was obtained
- false lock was not obtained