thread_once_flag
thread_once_flag (스레드 일회성 플래그)
std::once_flag는 std::call_once와 함께 사용하는 헬퍼 구조체예요. 이 타입의 객체를 여러 번의 std::call_once 호출에 전달하면, 그 호출들이 서로 조율되어 단 하나의 호출만 끝까지 실행되도록 보장해 줘요. once_flag는 복사도 이동도 할 수 없는 타입이에요.
출처: cppreference
본문
<mutex> 헤더에 정의되어 있어요.
| 헤더 | <mutex> |
|
|---|---|---|
class once_flag; |
(C++11부터) |
std::once_flag는 std::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 |