stdcall 曾经 stdonce flag

std::call_once 确保竞争线程只执行一次函数。如果无法完成任务,它会抛出 std::system_error

与 std::once_flag 一起使用。

#include <mutex>
#include <iostream>

std::once_flag flag;
void do_something(){
      std::call_once(flag, [](){std::cout << "Happens once" << std::endl;});
    
      std::cout << "Happens every time" << std::endl;
}