The scoped locking pattern. More...
#include <queuing_mutex.h>
Public Member Functions | |
| scoped_lock () | |
| Construct lock that has not acquired a mutex. More... | |
| scoped_lock (queuing_mutex &m) | |
| Acquire lock on given mutex. | |
| ~scoped_lock () | |
| Release lock (if lock is held). | |
| void __TBB_EXPORTED_METHOD | acquire (queuing_mutex &m) |
| Acquire lock on given mutex. | |
| bool __TBB_EXPORTED_METHOD | try_acquire (queuing_mutex &m) |
| Acquire lock on given mutex if free (i.e. non-blocking) | |
| void __TBB_EXPORTED_METHOD | release () |
| Release lock. | |
The scoped locking pattern.
It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.
|
inline |
Construct lock that has not acquired a mutex.
Equivalent to zero-initialization of *this.