并发扩展
来自 cppreference.cn
C++ 并发扩展,ISO/IEC TS 19571:2016,定义了以下 C++ 标准库新组件
目录 |
[编辑] std::future 的延续和其他扩展
定义于头文件
<experimental/future> | |
(并发技术规范) |
增强了延续和其他功能的 std::future 版本 (类模板) |
(并发技术规范) |
增强了延续和其他功能的 std::shared_future 版本 (类模板) |
(并发技术规范) |
使用 std::experimental::future 的 std::promise 的修改版本 (类模板) |
(并发技术规范) |
使用 std::experimental::future 的 std::packaged_task 的修改版本 (类模板) |
(并发技术规范) |
当所有给定的 future 或 shared_futures 准备就绪时,产生一个就绪的 future(函数模板) |
(并发技术规范) |
当至少一个给定的 future 或 shared_futures 准备就绪时,产生一个就绪的 future (函数模板) |
(并发技术规范) |
立即产生一个就绪并持有给定值的 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> 中定义 | |
(并发技术规范) |
一次性线程屏障 (类) |
在头文件
<experimental/barrier> 中定义 | |
(并发技术规范) |
可重用线程屏障 (类) |
(并发技术规范) |
具有可自定义完成行为的可重用线程屏障 (类) |
[编辑] 原子智能指针
这些类模板取代了 shared_ptr 的 原子函数重载
在头文件
<experimental/atomic> 中定义 | |
(并发技术规范) |
std::shared_ptr 的原子版本 (类模板) |
(并发技术规范) |
std::weak_ptr 的原子版本 (类模板) |