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