命名空间
变体
操作

并发扩展

来自 cppreference.com

C++ 并发扩展,ISO/IEC TS 19571:2016,为 C++ 标准库定义了以下新组件

内容

[编辑] std::future 的延续和其他扩展

在头文件 <experimental/future> 中定义
(并发 TS)
一个 std::future 的版本,它增强了延续和其他功能
(类模板) [编辑]
(并发 TS)
一个 std::shared_future 的版本,它增强了延续和其他功能
(类模板) [编辑]
(并发 TS)
一个 std::promise 的修改版本,它使用 std::experimental::future
(类模板)
(并发 TS)
一个 std::packaged_task 的修改版本,它使用 std::experimental::future
(类模板)
(并发 TS)
生成一个 future,当所有给定的 futures 或 shared_futures 都就绪时,它将就绪
(函数模板) [编辑]
(并发 TS)
生成一个 future,当给定的 futures 或 shared_futures 中至少有一个就绪时,它将就绪
(函数模板) [编辑]
生成一个立即就绪并保存给定值的 future
(函数模板) [编辑]
生成一个立即就绪并保存给定异常的 future
(函数模板) [编辑]

[编辑] 功能测试宏

在头文件 <experimental/future> 中定义
__cpp_lib_experimental_future_continuations
至少为 201505 的值表示支持 future::then 和其他扩展
(宏常量)
在头文件 <experimental/latch> 中定义
__cpp_lib_experimental_latch
至少为 201505 的值表示支持闩锁类型
(宏常量)
在头文件 <experimental/barrier> 中定义
__cpp_lib_experimental_barrier
至少为 201505 的值表示支持屏障类型
(宏常量)
在头文件 <experimental/atomic> 中定义
__cpp_lib_experimental_atomic_smart_pointers
至少为 201505 的值表示支持原子智能指针
(宏常量)

[编辑] 合并到 C++20

并发 TS 的以下组件已被采用到 C++20 标准中。

[编辑] 闩锁和屏障

在头文件 <experimental/latch> 中定义
(并发 TS)
一次性线程屏障
(类) [编辑]
在头文件 <experimental/barrier> 中定义
(并发 TS)
可重用线程屏障
(类) [编辑]
(并发 TS)
可重用线程屏障,具有可自定义的完成行为
(类) [编辑]

[编辑] 原子智能指针

这些类模板替换了 shared_ptr 的 原子函数重载

在头文件 <experimental/atomic> 中定义
std::shared_ptr 的原子版本
(类模板) [编辑]
(并发 TS)
std::weak_ptr 的原子版本
(类模板) [编辑]