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;
}