首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::unique_lock::try_lock_for

template< class Rep, class Period > bool try_lock_for( const std::chrono::duration<Rep,Period>& timeout_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)

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com