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().