table of contents
std::unique_lock::try_lock_for(3) | C++ Standard Libary | std::unique_lock::try_lock_for(3) |
NAME¶
std::unique_lock::try_lock_for - std::unique_lock::try_lock_for
Synopsis¶
template< class Rep, class Period >
bool try_lock_for( const std::chrono::duration<Rep, Period>&
(since C++11)
timeout_duration );
Tries to lock (i.e., takes ownership of) the associated mutex. Blocks until
specified timeout_duration has elapsed or the lock is acquired, whichever
comes
first. On successful lock acquisition returns true, otherwise returns false.
Effectively calls mutex()->try_lock_for(timeout_duration).
This function may block for longer than timeout_duration due to scheduling or
resource contention delays.
The standard recommends that a steady clock is used to measure the duration.
If an
implementation uses a system clock instead, the wait time may also be
sensitive to
clock adjustments.
std::system_error is thrown if there is no associated mutex or if the mutex
is
already locked by this std::unique_lock.
Parameters¶
timeout_duration - maximum duration to block for
Return value¶
true if the ownership of the mutex has been acquired successfully, false otherwise.
Exceptions¶
* Any exceptions thrown by
mutex()->try_lock_for(timeout_duration).
* If there is no associated mutex, std::system_error with an error code of
std::errc::operation_not_permitted.
* If the mutex is already locked, std::system_error with an error code of
std::errc::resource_deadlock_would_occur.
Example¶
This section is incomplete
Reason: no example
See also¶
lock locks (i.e., takes ownership of) the associated mutex
(public member function)
tries to lock (i.e., takes ownership of) the associated mutex without
try_lock blocking
(public member function)
try_lock_for tries to lock the associated mutex, for the specified duration
(public member function of std::shared_lock<Mutex>)
tries to lock (i.e., takes ownership of) the associated TimedLockable
try_lock_until mutex, returns if the mutex has been unavailable until
specified time
point has been reached
(public member function)
unlock unlocks (i.e., releases ownership of) the associated mutex
(public member function)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |