std::barrier<CompletionFunction>::arrive_and_wait

来自cppreference.com
< cpp‎ | thread‎ | barrier
 
 
线程支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
 
 
void arrive_and_wait();
(C++20 起)

原子地将期待计数减少 1 ,然后在当前阶段的同步点阻塞直至运行当前阶段的阶段完成步骤。等价于 wait(arrive());

若当前阶段的期待计数为零则行为未定义。

参数

(无)

返回值

(无)

异常

错误时抛出 std::system_error ,带有对互斥体类型允许的错误码。

注解

若在此函数的调用中当前期待计数被减少为零,则运行阶段完成步骤而此函数不阻塞。

若调用此函数前当前期待计数为零,则所有后继阶段的初始期待计数亦为零,这表示无法重用该 barrier

示例