std::counting_semaphore<LeastMaxValue>::release
From cppreference.com
< cpp | スレッド | counting semaphore
| void release( std::ptrdiff_t update = 1 ); |
(C++20以降) | |
内部カウンタを update の値だけアトミックにインクリメントします。acquire でブロックされるなど、カウンタが 0 より大きくなるのを待機しているスレッドは、 subsequently 解除されます。
この操作は、try_acquire の呼び出しに対して、その効果の結果を観測する呼び出しよりも強力に先行します。
目次 |
[編集] 前提条件
update >= 0 および update <= max() - counter が true でなければなりません。ここで、counter は内部カウンタの値です。
[編集] パラメータ
| update | - | 内部カウンタをインクリメントする量 |
[編集] 例外
std::system_error を投げる可能性があります。
[編集] 関連項目
| 内部カウンタをデクリメントするか、デクリメントできるまでブロックする (public メンバ関数) | |
| ブロックせずに内部カウンタをデクリメントしようとする (public メンバ関数) | |
| 内部カウンタをデクリメントしようと試み、duration 時間までブロックする (public メンバ関数) | |
| 内部カウンタをデクリメントしようと試み、特定の時点までブロックする (public メンバ関数) |