名稱空間
變體
操作

std::barrier<CompletionFunction>::arrive_and_wait

來自 cppreference.com
< cpp‎ | thread‎ | barrier
 
 
併發支援庫
執行緒
(C++11)
(C++20)
this_thread 名稱空間
(C++11)
(C++11)
(C++11)
協同取消
互斥
(C++11)
通用鎖管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
條件變數
(C++11)
訊號量
門閂和屏障
(C++20)
(C++20)
期值
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
危險指標
原子型別
(C++11)
(C++20)
原子型別的初始化
(C++11)(C++20 中已棄用)
(C++11)(C++20 中已棄用)
記憶體排序
(C++11)(C++26 中已棄用)
原子操作的自由函式
原子標誌的自由函式
 
 
void arrive_and_wait();
(C++20 起)

原子性地將預期計數減1,然後阻塞在當前階段的同步點,直到當前階段的階段完成步驟執行完畢。等同於 wait(arrive());

如果當前階段的預期計數為零,則行為未定義。

目錄

[編輯] 引數

(無)

[編輯] 返回值

(無)

[編輯] 異常

錯誤時丟擲 std::system_error,其錯誤碼與互斥鎖型別允許的錯誤碼相同。

[編輯] 注意

如果在此函式的呼叫中當前預期計數遞減到零,則會執行階段完成步驟,此函式不會阻塞。

如果在呼叫此函式之前當前預期計數為零,則所有後續階段的初始預期計數也為零,這意味著該 barrier 無法重用。

[編輯] 示例