std::counting_semaphore<LeastMaxValue>::try_acquire_for
From cppreference.com
< cpp | スレッド | counting semaphore
| template< class Rep, class Period > bool try_acquire_for( const std::chrono::duration<Rep, Period>& rel_time ); |
(C++20以降) | |
内部カウンタが1より大きい場合、アトミックに1だけデクリメントしようとします。そうでない場合は、カウンタが0より大きくなり、内部カウンタを正常にデクリメントできるまで、またはrel_timeの期間が経過するまでブロックします。
目次 |
[編集] 前提条件
(なし)
[編集] パラメータ
| rel_time | - | 関数が失敗するために待機しなければならない最小期間 |
[編集] 戻り値
内部カウンタをデクリメントした場合はtrue、そうでなければfalse。
[編集] 例外
std::system_errorまたはタイムアウトに関連する例外をスローする可能性があります。
[編集] 注釈
実際には、関数が失敗するまでにrel_timeよりも時間がかかる場合があります。
[編集] 関連項目
| 内部カウンタをインクリメントし、アクライアをブロック解除する (public メンバ関数) | |
| 内部カウンタをデクリメントするか、デクリメントできるまでブロックする (public メンバ関数) | |
| ブロックせずに内部カウンタをデクリメントしようとする (public メンバ関数) | |
| 内部カウンタをデクリメントしようと試み、特定の時点までブロックする (public メンバ関数) |