thread_once_flag

thread_once_flag (스레드 일회성 플래그)

std::once_flagstd::call_once와 함께 사용하는 헬퍼 구조체예요. 이 타입의 객체를 여러 번의 std::call_once 호출에 전달하면, 그 호출들이 서로 조율되어 단 하나의 호출만 끝까지 실행되도록 보장해 줘요. once_flag는 복사도 이동도 할 수 없는 타입이에요.

출처: cppreference

본문

<mutex> 헤더에 정의되어 있어요.

헤더 <mutex>
class once_flag; (C++11부터)

std::once_flagstd::call_once를 위한 보조 구조체예요. std::once_flag 타입의 객체를 여러 번의 std::call_once 호출에 전달하면, 그 호출들이 서로 협력해서 단 하나의 호출만 실제로 완료될 수 있게 해 줘요. std::once_flag는 복사 생성도 복사 대입도 불가능하고, 이동 생성이나 이동 대입도 불가능해요.

멤버 함수

std::once_flag::once_flag

constexpr once_flag() noexcept;

once_flag 객체를 생성해요. 내부 상태는 아직 어떤 함수도 호출되지 않았음을 나타내도록 설정돼요.

매개변수

(없음)

같이 보기

call_once (C++11) 여러 스레드에서 호출되어도 함수를 단 한 번만 실행해요 (함수 템플릿)
C 문서의 once_flag

더 알아보기 (Learn more)

cppreference