21 #ifndef __TBB_queuing_mutex_H 22 #define __TBB_queuing_mutex_H 24 #include "tbb_config.h" 26 #if !TBB_USE_EXCEPTIONS && _MSC_VER 28 #pragma warning (push) 29 #pragma warning (disable: 4530) 34 #if !TBB_USE_EXCEPTIONS && _MSC_VER 39 #include "tbb_profiling.h" 50 #if TBB_USE_THREADING_TOOLS 63 internal::poison_pointer(next);
90 void __TBB_EXPORTED_METHOD
release();
106 void __TBB_EXPORTED_METHOD internal_construct();
109 static const bool is_rw_mutex =
false;
110 static const bool is_recursive_mutex =
false;
111 static const bool is_fair_mutex =
true;
queuing_mutex()
Construct unacquired mutex.
Definition: queuing_mutex.h:48
The scoped locking pattern.
Definition: queuing_mutex.h:58
bool __TBB_EXPORTED_METHOD try_acquire(queuing_mutex &m)
Acquire lock on given mutex if free (i.e. non-blocking)
Queuing mutex with local-only spinning.
Definition: queuing_mutex.h:45
void __TBB_EXPORTED_METHOD acquire(queuing_mutex &m)
Acquire lock on given mutex.
Primary template for atomic.
Definition: atomic.h:405
~scoped_lock()
Release lock (if lock is held).
Definition: queuing_mutex.h:79
The namespace tbb contains all components of the library.
Definition: parallel_for.h:44
scoped_lock()
Construct lock that has not acquired a mutex.
Definition: queuing_mutex.h:70
void __TBB_EXPORTED_METHOD release()
Release lock.
Wrapper around the platform's native reader-writer lock.
Definition: mutex.h:40
scoped_lock(queuing_mutex &m)
Acquire lock on given mutex.
Definition: queuing_mutex.h:73