Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Queuing reader-writer mutex with local-only spinning. More...
#include <queuing_rw_mutex.h>
Classes | |
class | scoped_lock |
The scoped locking pattern. More... | |
Public Member Functions | |
queuing_rw_mutex () | |
Construct unacquired mutex. More... | |
~queuing_rw_mutex () | |
Destructor asserts if the mutex is acquired, i.e. q_tail is non-NULL. More... | |
void __TBB_EXPORTED_METHOD | internal_construct () |
Static Public Attributes | |
static const bool | is_rw_mutex = true |
static const bool | is_recursive_mutex = false |
static const bool | is_fair_mutex = true |
Private Attributes | |
atomic< scoped_lock * > | q_tail |
The last competitor requesting the lock. More... | |
Queuing reader-writer mutex with local-only spinning.
Adapted from Krieger, Stumm, et al. pseudocode at http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93
Definition at line 33 of file queuing_rw_mutex.h.
|
inline |
Construct unacquired mutex.
Definition at line 36 of file queuing_rw_mutex.h.
References internal_construct(), and q_tail.
|
inline |
Destructor asserts if the mutex is acquired, i.e. q_tail is non-NULL.
Definition at line 44 of file queuing_rw_mutex.h.
References __TBB_ASSERT, and q_tail.
void tbb::queuing_rw_mutex::internal_construct | ( | ) |
Definition at line 484 of file queuing_rw_mutex.cpp.
References _T, and ITT_SYNC_CREATE.
Referenced by queuing_rw_mutex().
|
static |
Definition at line 139 of file queuing_rw_mutex.h.
|
static |
Definition at line 138 of file queuing_rw_mutex.h.
|
static |
Definition at line 137 of file queuing_rw_mutex.h.
|
private |
The last competitor requesting the lock.
Definition at line 143 of file queuing_rw_mutex.h.
Referenced by tbb::queuing_rw_mutex::scoped_lock::acquire(), queuing_rw_mutex(), tbb::queuing_rw_mutex::scoped_lock::try_acquire(), and ~queuing_rw_mutex().