This reference page is linked to from the following overview topics: Threading and Maya, API Classes and plug-ins, Threading and Maya API, Overview of example plug-ins, Example C++ plug-in descriptions.
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.
#include <MSpinLock.h>
Public Member Functions | |
| MSpinLock () | |
| Create new spin lock object. | |
| ~MSpinLock () | |
| Destructor. | |
| void | lock () |
| Create a lock. | |
| void | unlock () |
| Release the current lock. | |
| bool | tryLock () |
| Attempt to lock the object. | |
| MSpinLock | ( | ) |
Create new spin lock object.
The object is created unlocked.
| ~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.
| 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.
| bool tryLock | ( | ) |
Attempt to lock the object.
If the object is already locked by another thread, the function returns right away.