并发扩展
来自cppreference.com
< cpp | experimental
C++ 并发扩展 (C++ Extensions for Concurrency) , ISO/IEC TS 19571:2016 ,为 C++ 标准库定义下列新组件:
std::future 的持续及其他扩展
在标头
<experimental/future> 定义 | |
(并发 TS) |
以持续和其他特性增强的 std::future 版本 (类模板) |
(并发 TS) |
以持续和其他特性增强的 std::shared_future 版本 (类模板) |
(并发 TS) |
使用 std::experimental::future 的 std::promise 修改版本 (类模板) |
(并发 TS) |
使用 std::experimental::future 的 std::packaged_task 修改版本 (类模板) |
(并发 TS) |
产生在所有给定 furure 或 shared_future 均就绪时成为就绪的 future (函数模板) |
(并发 TS) |
产生在至少一个给定 future 或 shared_future 就绪时成为就绪的 future (函数模板) |
(并发 TS) |
产生立即就绪并保有指定值的 future (函数模板) |
(并发 TS) |
产生立即就绪并保有给定异常的 future (函数模板) |
特性测试宏
在标头
<experimental/future> 定义 | |
__cpp_lib_experimental_future_continuations |
至少为 201505 的值,指示支持 future::then 和其他扩展 (宏常量) |
在标头
<experimental/latch> 定义 | |
__cpp_lib_experimental_latch |
至少为 201505 的值,指示支持 latch 类型 (宏常量) |
在标头
<experimental/barrier> 定义 | |
__cpp_lib_experimental_barrier |
至少为 201505 的值,指示支持 barrier 类型 (宏常量) |
在标头
<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> 定义 | |
(并发 TS) |
std::shared_ptr 的原子版本 (类模板) |
(并发 TS) |
std::weak_ptr 的原子版本 (类模板) |