std::counting_semaphore<LeastMaxValue>:: release
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Operations | ||||
|
counting_semaphore::release
|
||||
| Constants | ||||
|
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 。
参见
|
递减内部计数器或阻塞直至可操作
(公开成员函数) |
|
|
尝试非阻塞地递减内部计数器
(公开成员函数) |
|
|
尝试递减内部计数器,最多阻塞一段持续时间
(公开成员函数) |
|
|
尝试递减内部计数器,阻塞直至某个时间点
(公开成员函数) |