std::recursive_timed_mutex::try_lock
bool try_lock(); | (since C++11) |
Tries to lock the mutex. Returns immediately. On successful lock acquisition returns true
, otherwise returns false
.
This function is allowed to fail spuriously and return false
even if the mutex is not currently locked by any other thread.
A thread may call try_lock
on a recursive mutex repeatedly. Successful calls to try_lock
increment the ownsership count: the mutex will only be released after the thread makes a matching number of calls to unlock
.
The maximum number of levels of ownership is unspecified. A call to try_lock
will return false
if this number is exceeded.
Prior unlock()
operation on the same mutex synchronizes-with (as defined in std::memory_order
) this operation if it returns true
. Note that prior lock()
does not synchronize with this operation if it returns false
.
Parameters
(none).
Return value
true
if the lock was acquired successfully, otherwise false
.
Exceptions
(none).
Example
See also
locks the mutex, blocks if the mutex is not available (public member function) |
|
tries to lock the mutex, returns if the mutex has been unavailable for the specified timeout duration (public member function) |
|
tries to lock the mutex, returns if the mutex has been unavailable until specified time point has been reached (public member function) |
|
unlocks the mutex (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/try_lock