名前空間
変種
操作

std::counting_semaphore<LeastMaxValue>::try_acquire_for

提供: 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)
 
 
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 を返すことが許されています。