併發擴充套件
來自 cppreference.com
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 的原子版本 (類模板) |