Methods for managing spin locks on threads created with MThreadPool and MThreadAsync. (OpenMaya)
Description
Lightweight spin-lock class to be used with threads created by
MThreadPool and MThreadAsync.
Functions
MSpinLock:: MSpinLock ()
Description Create new spin lock object. The object is created unlocked.
MSpinLock:: ~MSpinLock ()
DescriptionDestructor.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 MSpinLock:: lock ()
DescriptionCreate 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 ()
DescriptionRelease the current lock.
bool MSpinLock:: tryLock ()
DescriptionDescriptionAttempt to lock the object. If the object is already locked by another
thread, the function returns right away. Return Value