std::counting_semaphore<LeastMaxValue>::try_acquire_for
提供: cppreference.com
<tbody>
</tbody>
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 より長くかかることがあります。
処理系は 0 より大きかった場合でもカウンタのデクリメントに失敗することが許されています。 すなわち、スプリアスに失敗して false を返すことが許されています。