std::counting_semaphore<LeastMaxValue>:: try_acquire_for
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Operations | ||||
|
counting_semaphore::try_acquire_for
|
||||
| Constants | ||||
|
template
<
class
Rep,
class
Period
>
bool try_acquire_for ( const std:: chrono :: duration < Rep, Period > & rel_time ) ; |
(C++20以降) | |
内部カウンタが 1 より大きい場合、アトミックにデクリメントを試みます。それ以外の場合は、カウンタが 0 より大きくなり内部カウンタのデクリメントが成功するか、 rel_time の時間が経過するまでブロックします。
目次 |
事前条件
(なし)
パラメータ
| rel_time | - | 関数が失敗するために待機する必要がある 最小 期間 |
戻り値
true 内部カウンタをデクリメントした場合、それ以外の場合は false 。
例外
以下の例外をスローする可能性があります: std::system_error またはタイムアウト関連の例外。
注記
実際には、関数が失敗するまでに rel_time よりも長い時間がかかる場合があります。
関連項目
|
内部カウンタをインクリメントし、取得側のブロックを解除します
(公開メンバ関数) |
|
|
内部カウンタをデクリメントするか、可能になるまでブロックします
(公開メンバ関数) |
|
|
ブロックせずに内部カウンタのデクリメントを試みます
(公開メンバ関数) |
|
|
内部カウンタのデクリメントを試み、指定時刻までブロックします
(公開メンバ関数) |