##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::recursive_timed_mutex

From cppreference.com
< cpp‎ | thread

Defined in header `<mutex>` |  |
class recursive_timed_mutex; |  | (since C++11)

The `recursive_timed_mutex` class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

In a manner similar to std::recursive_mutex, `recursive_timed_mutex` provides exclusive, recursive ownership semantics. In addition, `recursive_timed_mutex` provides the ability to attempt to claim ownership of a `recursive_timed_mutex` with a timeout via the `try_lock_for` and `try_lock_until` methods.

The `recursive_timed_mutex` class satisfies all requirements of `TimedMutex` and `StandardLayoutType`.

### [edit] Member types

Member type | Definition
`native_handle_type`(optional) | implementation-defined

### [edit] Member functions

(constructor) | constructs the mutex (public member function) [edit]
(destructor) | destroys the mutex (public member function) [edit]
operator= [deleted] | not copy-assignable (public member function) [edit]
##### Locking
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]
try_lock_for | tries to lock the mutex, returns if the mutex has been unavailable for the specified timeout duration (public member function) [edit]
try_lock_until | tries to lock the mutex, returns if the mutex has been unavailable until specified time point has been reached (public member function) [edit]
unlock | unlocks the mutex (public member function) [edit]
##### Native handle
native_handle | returns the underlying implementation-defined thread handle (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/thread/recursive_timed_mutex&oldid=83594"