std::counting_semaphore<LeastMaxValue>::try_acquire_for
来自cppreference.com
< cpp | thread | counting semaphore
template< class Rep, class Period > bool try_acquire_for( const std::chrono::duration<Rep, Period>& rel_time ); |
(C++20 起) | |
若内部计数器大于 0 则尝试原子地将它减少 1;否则阻塞直至它大于 0 且能成功地减少内部计数器,或已经超出 rel_time 时间点。
前条件
(无)
参数
rel_time | - | 函数必须为失败等待到的最小 时长 |
返回值
若减少内部计数器则为 true,否则为 false。
异常
可能抛出 std::system_error 或与到达时间相关的异常。
注解
实践中函数可能需要经过长于 rel_time 的时间才失败。
参阅
增加内部计数器并解除获得者 (公开成员函数) | |
减少内部计数器或阻塞到直至能如此 (公开成员函数) | |
尝试减少内部计数器而不阻塞 (公开成员函数) | |
尝试减少内部计数器,阻塞直至一个时间点 (公开成员函数) |