# tbb::spin_mutex Class Reference
[Synchronization]

A lock that occupies a single byte. More...

`#include <spin_mutex.h>`

List of all members.

## Classes
class | scoped_lock
| Represents acquisition of a mutex. More...
## Public Member Functions
| spin_mutex ()
| Construct unacquired lock.
void __TBB_EXPORTED_METHOD | internal_construct ()
void | lock ()
| Acquire lock.
bool | try_lock ()
| Try acquiring lock (non-blocking).
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

## Detailed Description

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.

## Constructor & Destructor Documentation

tbb::spin_mutex::spin_mutex | ( |  | ) | `[inline]`

Construct unacquired lock.

Equivalent to zero-initialization of *this.

## Member Function Documentation

bool tbb::spin_mutex::try_lock | ( |  | ) | `[inline]`

Try acquiring lock (non-blocking).

Return true if lock acquired; false otherwise.

References tbb::aligned_space< T, N >::begin().

The documentation for this class was generated from the following file:

- spin_mutex.h

Copyright © 2005-2013 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.