名前空間
変種

std::counting_semaphore<LeastMaxValue>::try_acquire_until

提供: cppreference.com
 
 
スレッドサポートライブラリ
スレッド
(C++11)
(C++20)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
相互排他
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
フューチャー
(C++11)
(C++11)
(C++11)
(C++11)
 
 
<tbody> </tbody>
template<class Clock, class Duration> bool try_acquire_until( const std::chrono::time_point<Clock, Duration>& abs_time );
(C++20以上)

0 より大きければ内部カウンタをアトミックに 1 デクリメントします。 そうでなければ内部カウンタが ​0 より大きくなりデクリメントできるようになるか時点 abs_time を過ぎるまでブロックします。

事前条件

(なし)

引数

abs_time - 失敗するために少なくとも待たなければならない時間

戻り値

内部カウンタをデクリメントした場合は true、そうでなければ false

例外

std::system_error やタイムアウト関連の例外を投げる可能性があります。

ノート

実際には失敗するまで abs_time より長くかかることがあります。

処理系は 0 より大きかった場合でもカウンタのデクリメントに失敗することが許されています。 すなわち、スプリアスに失敗して false を返すことが許されています。