std::experimental::barrier::arrive_and_drop
來自 cppreference.com
< cpp | experimental | barrier
| void arrive_and_drop(); |
(併發技術規範) | |
到達屏障的同步點,並將當前執行緒從參與執行緒集中移除。此函式是否阻塞直到完成階段結束是未指定的。
如果呼叫執行緒不在此屏障的參與執行緒集中,則行為是未定義的。
對 arrive_and_drop 的呼叫與屏障完成階段的開始同步。如果呼叫阻塞,則完成階段的完成與函式返回同步。
對 arrive_and_drop 和 arrive_and_wait 的呼叫永遠不會相互或與自身引入資料競爭。
[編輯] 異常
不丟擲任何異常。
[編輯] 註釋
如果每個參與執行緒都呼叫 arrive_and_drop(),則屏障只能被銷燬。
線上程對屏障呼叫 arrive_and_drop() 後,它不再是其參與執行緒集的成員,因此不能再對同一屏障呼叫 arrive_and_drop() 或 arrive_and_wait()。
[編輯] 另請參見
| 到達同步點並阻塞 (公有成員函式) |