A lock that occupies a single byte. More...
#include <spin_mutex.h>
Classes | |
class | scoped_lock |
Represents acquisition of a mutex. More... | |
Public Member Functions | |
spin_mutex () | |
Construct unacquired lock. More... | |
void __TBB_EXPORTED_METHOD | internal_construct () |
Internal constructor with ITT instrumentation. | |
void | lock () |
Acquire lock. | |
bool | try_lock () |
Try acquiring lock (non-blocking) More... | |
void | unlock () |
Release lock. | |
Static Public Attributes | |
static const bool | is_rw_mutex = false |
static const bool | is_recursive_mutex = false |
static const bool | is_fair_mutex = false |
Friends | |
class | scoped_lock |
A lock that occupies a single byte.
A spin_mutex is a spin mutex that fits in a single byte. It should be used only for locking short critical sections (typically less than 20 instructions) when fairness is not an issue. If zero-initialized, the mutex is considered unheld.
|
inline |
Construct unacquired lock.
Equivalent to zero-initialization of *this.
References internal_construct().
|
inline |
Try acquiring lock (non-blocking)
Return true if lock acquired; false otherwise.
References tbb::aligned_space< T, N >::begin().