Defined in header
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::thread::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
recursive_timed_mutex class is non-copyable.