std::barrier<CompletionFunction>::arrive

来自cppreference.com
< cpp‎ | thread‎ | barrier
 
 
并发支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中弃用)
(C++11)(C++20 中弃用)
原子操作的自由函数
原子标志的自由函数
内存序
互斥
(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)
 
 
[[nodiscard]] arrival_token arrive( std::ptrdiff_t n = 1 );
(C++20 起)

构造一个于当前阶段的阶段同步点关联的 arrival_token 对象,然后将期待计数减少 n

此函数原子地执行。对此函数的调用强先发生于当前阶段的阶段完成步骤的开始。

n 小于或等于零,或大于当前屏障阶段的期待计数,则行为未定义。

参数

n - 要减少期待计数的值

返回值

构造的 arrival_token 对象。

异常

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

注解

此函数能导致当前阶段的阶段完成步骤开始。

示例

参阅

在阶段同步点阻塞,直至运行其阶段完成步骤
(公开成员函数)