#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