std::latch
定义于头文件
<latch> |
||
class latch;
|
(C++20 起) | |
latch
是 std::ptrdiff_t 类型的向下计数器,它能用于同步线程。在创建时初始化计数器的值。
线程可能在 latch
上阻塞直至计数器减少到零。没有可能增加或重置计数器,这使得 latch
为单次使用的屏障。
同时调用 latch
的成员函数,除了析构函数,不引入数据竞争。
不同于 std::barrier ,参与线程能减少 std::latch
多于一次。
成员函数
构造 latch (公开成员函数) |
|
析构 latch (公开成员函数) |
|
operator=
[被删除]
|
latch 不可赋值(公开成员函数) |
以不阻塞的方式减少计数器 (公开成员函数) |
|
测试内部计数器是否等于零 (公开成员函数) |
|
阻塞直至计数器抵达零 (公开成员函数) |
|
减少计数器并阻塞直至它抵达零 (公开成员函数) |
|
常量 |
|
[静态]
|
实现所支持的计数器最大值 (公开静态成员函数) |
示例
本节未完成 原因:暂无示例 |
参阅
(C++20)
|
可复用的线程屏障 (类模板) |