Back to Hhvm

tbb::spin_mutex Class Reference

third-party/tbb/src/doc/html/a00154.html

latest3.1 KB
Original Source

Classes | Public Member Functions | Static Public Attributes | Friends | List of all members

tbb::spin_mutex Class Reference Synchronization

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

|

| tbb::spin_mutex::spin_mutex | ( | | ) | |

| inline |

Construct unacquired lock.

Equivalent to zero-initialization of *this.

References internal_construct().

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-2018 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.