MSpinLock Class Reference

#include <MSpinLock.h>

Class 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.

+ Examples:

Public Member Functions

 MSpinLock ()
 Create new spin lock object. More...
 ~MSpinLock ()
 Destructor. More...
void lock ()
 Create a lock. More...
void unlock ()
 Release the current lock.
bool tryLock ()
 Attempt to lock the object. More...

Constructor & Destructor Documentation

MSpinLock ( )

Create new spin lock object.

The object is created unlocked.

~MSpinLock ( )


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

void lock ( )

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.

+ Examples:
bool tryLock ( )

Attempt to lock the object.

If the object is already locked by another thread, the function returns right away.

  • true lock was obtained
  • false lock was not obtained

The documentation for this class was generated from the following files:
  • MSpinLock.h
  • MSpinLock.cpp