std::lock

From Cppreference

Jump to: navigation, search
Defined in header <mutex>

template< class Lockable1, class Lockable2, class LockableN... >
void lock( Lockable1& lock1, Lockable2& lock2, LockableN lockn... );
(C++11 feature)

Locks the given lockable objects lock1, lock2, ..., lockn without resulting in a deadlock. The objects are locked by calls to lock(), try_lock(), unlock() in an unspecified order.

If a call to lock() or unlock() results in an exception, unlock() is called for any locked objects before rethrowing.

Contents

[edit] Parameters

lock1, lock2, ... , lockn - the lockable objects to lock

[edit] Return value

(none)

[edit] Example

[edit] See also

try_lock (C++11)
locks specified mutexes/locks, returns false if at least one is unavailable
(function template)