std::call_once()

std::call_once():
該函數的第一個參數爲標記,第二個參數是一個函數名。
功能:能夠保證多線程調用函數func()時只被調用一次。具備互斥量的能力,而且比互斥量消耗的資源更少,更高效。
call_once()需要與一個標記結合使用,這個標記爲std::once_flag;其中once_flag是一個數據結構,call_once()就是通過標記來決定函數是否執行,調用成功後,就把標記設置爲一種已調用狀態。

std::once_flag my_flag;
void func(){}
std::call_once(my_flag, func);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章