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