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

参见

递减内部计数器或阻塞直至可操作
(公开成员函数)
尝试非阻塞地递减内部计数器
(公开成员函数)
尝试递减内部计数器,最多阻塞一段持续时间
(公开成员函数)
尝试递减内部计数器,阻塞直至某个时间点
(公开成员函数)