命名空间
变体
操作

并发扩展

来自 cppreference.cn

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

目录

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

定义于头文件 <experimental/future>
(concurrency TS)
一个 std::future 的版本,增强了延续和其他功能
(class template) [编辑]
(concurrency TS)
一个 std::shared_future 的版本,增强了延续和其他功能
(class template) [编辑]
(concurrency TS)
一个修改版本的 std::promise,它使用 std::experimental::future
(class template)
(concurrency TS)
一个修改版本的 std::packaged_task,它使用 std::experimental::future
(class template)
(concurrency TS)
生成一个 future,当所有给定的 futures 或 shared_futures 准备就绪时,该 future 变为就绪
(function template) [编辑]
(concurrency TS)
生成一个 future,当至少一个给定的 futures 或 shared_futures 准备就绪时,该 future 变为就绪
(function template) [编辑]
(concurrency TS)
生成一个立即就绪并持有给定值的 future
(function template) [编辑]
(concurrency TS)
生成一个立即就绪并持有给定异常的 future
(function template) [编辑]

[编辑] 特性测试宏

定义于头文件 <experimental/future>
__cpp_lib_experimental_future_continuations
至少为 201505 的值表示支持 future::then 和其他扩展
(macro constant)
定义于头文件 <experimental/latch>
__cpp_lib_experimental_latch
至少为 201505 的值表示支持 latch 类型
(macro constant)
定义于头文件 <experimental/barrier>
__cpp_lib_experimental_barrier
至少为 201505 的值表示支持 barrier 类型
(macro constant)
定义于头文件 <experimental/atomic>
__cpp_lib_experimental_atomic_smart_pointers
至少为 201505 的值表示支持原子智能指针
(macro constant)

[编辑] 合并到 C++20 中

Concurrency TS 的以下组件已被采纳到 C++20 标准中。

[编辑] 闩锁和屏障

定义于头文件 <experimental/latch>
(concurrency TS)
单次使用线程屏障
(class) [编辑]
定义于头文件 <experimental/barrier>
(concurrency TS)
可重用线程屏障
(class) [编辑]
(concurrency TS)
完成时具有可自定义行为的可重用线程屏障
(class) [编辑]

[编辑] 原子智能指针

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

定义于头文件 <experimental/atomic>
(concurrency TS)
std::shared_ptr 的原子版本
(class template) [编辑]
(concurrency TS)
std::weak_ptr 的原子版本
(class template) [编辑]