std::recursive_mutex::try_lock
From cppreference.com
< cpp | thread | recursive mutex
bool try_lock(); |
(since C++11) | |
Tries to lock the mutex. Returns immediately. On successful lock acquisition returns true, otherwise returns false.
The behavior is undefined if the mutex is not unlocked before being destroyed, i.e. some thread still owns it.
Contents |
[edit] Parameters
(none)
[edit] Return value
true if the lock was acquired successfully, otherwise false.
[edit] Exceptions
(none)
[edit] Example
#include <iostream> #include <mutex> int main() { std::mutex test; if (test.try_lock()==true) { std::cout << "lock acquired" << std::endl; test.unlock(); //now unlock the mutex } else { std::cout << "lock not acquired" << std::endl; } test.lock(); //to lock it again if (test.try_lock()) { //true can be left out std::cout << "lock acquired" << std::endl; } else { std::cout << "lock not acquired" << std::endl; } test.unlock(); }
Output:
lock acquired lock not acquired
[edit] See also
locks the mutex, blocks if the mutex is not available (public member function) | |
unlocks the mutex (public member function) |