BRE12
Classes | Public Member Functions | Static Public Attributes | Friends | List of all members
tbb::spin_mutex Class Reference

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

#include <spin_mutex.h>

Inheritance diagram for tbb::spin_mutex:

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
 

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

§ spin_mutex()

tbb::spin_mutex::spin_mutex ( )
inline

Construct unacquired lock.

Equivalent to zero-initialization of *this.

Member Function Documentation

§ try_lock()

bool tbb::spin_mutex::try_lock ( )
inline

Try acquiring lock (non-blocking)

Return true if lock acquired; false otherwise.


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