C++(標準庫):49---併發之(一次調用:std::once_flag、std::call_once)

1、先來看一些例子 有些代碼中,某些代碼會被多線程使用,可是當一個線程使用以後,其餘線程就不能再去使用了 例如: 下面的代碼會調用一個initialize()初始化函數對某些東西進行初始化,當一個線程去初始化以後,另外的線程再次執行時就不須要再次去初始化了 可是在多線程環境下,下面的if會形成data race,由於多個線程可能同時執行到了if,而且沒有任何措施,致使都執行了if,所以形成兩次初始
相關文章
相關標籤/搜索