Extensions for concurrency
From cppreference.net
<
cpp
|
experimental
C++并发扩展,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)
|
生成一个 future,当所有给定的 future 或
shared_futures
就绪时变为就绪状态
(函数模板) |
|
(并发TS)
|
生成一个 future,当至少一个给定的 future 或 shared_futures 就绪时变为就绪状态
(函数模板) |
|
(并发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
以下并发技术规范(Concurrency TS)中的组件已被纳入C++20标准。
闩锁与屏障
|
定义于头文件
<experimental/latch>
|
|
|
(concurrency TS)
|
单次使用的线程屏障
(类) |
|
定义于头文件
<experimental/barrier>
|
|
|
(concurrency TS)
|
可重复使用的线程屏障
(类) |
|
(concurrency TS)
|
具有可自定义完成行为的可重复使用线程屏障
(类) |
原子智能指针
这些类模板取代了 shared_ptr 的 原子函数重载
|
定义于头文件
<experimental/atomic>
|
|
|
(并发技术规范)
|
std::shared_ptr 的原子版本
(类模板) |
|
(并发技术规范)
|
std::weak_ptr 的原子版本
(类模板) |