並發擴充功能
出自 cppreference.com
< 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 或 shared_futures 就緒時即變為就緒狀態的 future(函式模板) |
| (並發 TS) |
產生一個當給定 future 或 shared_futures 中至少有一個就緒時即變為就緒狀態的 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 的原子版本 (類別模板) |