std::unique_lock::try_lock_for
性病::独特[医]锁::试一试[医]锁[医]为
template< class Rep, class Period > bool try_lock_for( const std::chrono::duration | | (since C++11) |
---|
试图锁定相关的互斥对象。块,直到指定timeout_duration已过或已取得锁,以第一位为准。关于成功锁定获取返回true,否则返回false.有效地打电话mutex()->try_lock_for(timeout_duration)...
用一个稳定的时钟来测量持续时间。此函数的阻塞时间可能超过timeout_duration
由于调度或资源争用延迟。
std::system_error
如果没有关联的互斥对象,或者互斥对象已经锁定,则引发。
参数
timeout_duration | - | maximum duration to block for |
---|
返回值
true
如果互斥体的所有权已经成功获得,false
否则。
例外
- 引发的任何异常mutex()->try_lock_for(timeout_duration)
- 如果没有关联的互斥,
std::system_error
错误代码为std::errc::operation_not_permitted
- 如果互斥锁已经锁定,
std::system_error
错误代码为std::errc::resource_deadlock_would_occur
例
另见
lock | locks the associated mutex (public member function) |
---|---|
try_lock | tries to lock the associated mutex, returns if the mutex is not available (public member function) |
try_lock_until | tries to lock the associated TimedLockable mutex, returns if the mutex has been unavailable until specified time point has been reached (public member function) |
unlock | unlocks the associated mutex (public member function) |
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。