名稱空間
變體
操作

std::experimental::flex_barrier::arrive_and_drop

來自 cppreference.com
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (併發 TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
void arrive_and_drop();
(併發技術規範)

到達 flex_barrier 的同步點,並將當前執行緒從參與執行緒集中移除。此函式是否會阻塞直到完成階段結束是未指定的。如果函式阻塞,呼叫執行緒可能會被選為執行完成階段。

如果呼叫執行緒不在此 flex_barrier 的參與執行緒集中,則行為是未定義的。

arrive_and_drop 的呼叫與 flex_barrier 的完成階段的開始同步。如果呼叫阻塞,則完成階段的完成與從呼叫返回同步。

arrive_and_droparrive_and_wait 的呼叫永遠不會相互或與自身引入資料競爭。

[編輯] 異常

不丟擲任何異常。

[編輯] 註釋

即使每個參與執行緒都呼叫 arrive_and_drop,完成階段也會被執行。

執行緒在 flex_barrier 上呼叫 arrive_and_drop 後,除了解構函式,它不能在此屏障上呼叫任何成員函式,即使完成階段呼叫的函式物件返回一個正值。

[編輯] 另請參見

到達同步點並阻塞
(公共成員函式) [編輯]