C++1x offers a selection of mutex classes:
- std::mutex - offers simple locking functionality.
- std::timed_mutex - offers try_to_lock functionality
- std::recursive_mutex - allows recursive locking by the same thread.
- std::shared_mutex, std::shared_timed_mutex - offers shared and unique lock functionality.
std::mutex
std::recursive mutex
std::scoped_lock (C ++17)
std::unique_lock, std::shared_lock, std::lock_guard
Strategies for lock classes std::try_to_lock, std::adopt_lock, std::defer_lock
std::lock