Classes | Functions | Variables

Mutexes
[Concurrency]

Collaboration diagram for Mutexes:

Classes

Functions

Variables


Detailed Description

Classes for mutex support.


Function Documentation

template<typename _Callable , typename... _Args>
void std::call_once ( once_flag &  __once,
_Callable &&  __f,
_Args &&...  __args 
)

call_once

Definition at line 797 of file mutex.

template<typename _L1 , typename _L2 , typename... _L3>
void std::lock ( _L1 &  __l1,
_L2 &  __l2,
_L3 &...  __l3 
)

Generic lock.

Parameters:
__l1 Meets Mutex requirements (try_lock() may throw).
__l2 Meets Mutex requirements (try_lock() may throw).
__l3 Meets Mutex requirements (try_lock() may throw).
Exceptions:
An exception thrown by an argument's lock() or try_lock() member.
Postcondition:
All arguments are locked.

All arguments are locked via a sequence of calls to lock(), try_lock() and unlock(). If the call exits via an exception any locks that were obtained will be released.

Definition at line 738 of file mutex.

References std::lock().

Referenced by std::lock().

template<typename _Lock1 , typename _Lock2 , typename... _Lock3>
int std::try_lock ( _Lock1 &  __l1,
_Lock2 &  __l2,
_Lock3 &...  __l3 
)

Generic try_lock.

Parameters:
__l1 Meets Mutex requirements (try_lock() may throw).
__l2 Meets Mutex requirements (try_lock() may throw).
__l3 Meets Mutex requirements (try_lock() may throw).
Returns:
Returns -1 if all try_lock() calls return true. Otherwise returns a 0-based index corresponding to the argument that returned false.
Postcondition:
Either all arguments are locked, or none will be.

Sequentially calls try_lock() on each argument.

Definition at line 714 of file mutex.

References std::try_lock().

Referenced by std::try_lock().