##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::recursive_mutex::unlock

From cppreference.com
< cpp‎ | thread‎ | recursive mutex

[edit template]

void unlock(); |  | (since C++11)

Unlocks the mutex if its level of ownership is 1 (there was exactly one more call to lock() than there were calls to `unlock()` made by this thread), reduces the level of ownership by 1 otherwise.

The mutex must be locked by the current thread of execution, otherwise, the behavior is undefined.

This operation synchronizes-with (as defined in std::memory_order) any subsequent lock operation that obtains ownership of the same mutex.

### [edit] Parameters

(none)

### [edit] Return value

(none)

### [edit] Exceptions

(none)

### [edit] Notes

`unlock()` is usually not called directly: std::unique_lock and std::lock_guard are used to manage exclusive locking.

### [edit] Example

| This section is incomplete Reason: no example

### [edit] See also

lock | locks the mutex, blocks if the mutex is not available (public member function) [edit]
try_lock | tries to lock the mutex, returns if the mutex is not available (public member function) [edit]
C documentation for mtx_unlock

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/thread/recursive_mutex/unlock&oldid=51412"
Category:

- Todo no example