Namespaces
Variants

std::counting_semaphore<LeastMaxValue>:: release

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
void release ( std:: ptrdiff_t update = 1 ) ;
(C++20以降)

内部カウンターを update の値だけアトミックにインクリメントします。 0 より大きくなるのを待機しているスレッド(例: acquire でブロックされているスレッド)は、その後ブロック解除されます。

この操作は、その効果の結果を観測する try_acquire の呼び出しに対して強く先行発生します。

事前条件

update >= 0 update <= max ( ) - counter の両方が true であり、ここで counter は内部カウンタの値です。

パラメータ

update - 内部カウンターを増加させる量

例外

std::system_error をスローする可能性があります。

関連項目

内部カウンタをデクリメントするか、可能になるまでブロックする
(公開メンバ関数)
ブロックせずに内部カウンタのデクリメントを試みる
(公開メンバ関数)
内部カウンタのデクリメントを試み、最大で指定時間ブロックする
(公開メンバ関数)
内部カウンタのデクリメントを試み、指定時点までブロックする
(公開メンバ関数)