BRE12
Classes | Typedefs
Synchronization

Classes

struct  tbb::atomic< T >
 Primary template for atomic. More...
 
class  tbb::mutex
 Wrapper around the platform's native reader-writer lock. More...
 
class  tbb::null_mutex
 A mutex which does nothing. More...
 
class  tbb::null_rw_mutex
 A rw mutex which does nothing. More...
 
class  tbb::queuing_mutex
 Queuing mutex with local-only spinning. More...
 
class  tbb::queuing_rw_mutex
 Queuing reader-writer mutex with local-only spinning. More...
 
class  tbb::interface5::reader_writer_lock
 Writer-preference reader-writer lock with local-only spinning on readers. More...
 
class  tbb::recursive_mutex
 Mutex that allows recursive mutex acquisition. More...
 
class  tbb::spin_mutex
 A lock that occupies a single byte. More...
 
class  tbb::spin_rw_mutex_v3
 Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...
 

Typedefs

typedef interface7::internal::padded_mutex< spin_mutex, false > tbb::speculative_spin_mutex
 A cross-platform spin mutex with speculative lock acquisition. More...
 
typedef interface7::internal::padded_mutex< tbb::spin_rw_mutex, true > tbb::interface8::speculative_spin_rw_mutex
 A cross-platform spin reader/writer mutex with speculative lock acquisition. More...
 

Detailed Description

Typedef Documentation

§ speculative_spin_mutex

A cross-platform spin mutex with speculative lock acquisition.

On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not. If zero-initialized, the mutex is considered unheld.

§ speculative_spin_rw_mutex

A cross-platform spin reader/writer mutex with speculative lock acquisition.

On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_rw_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not.