close
Пространства имён
Варианты
Действия

std::once_flag

Материал из cppreference.com

<metanoindex/>

 
 
Библиотека поддержки конкуренции
Ветви
(C++11)
(C++20)
(C++20)
Пространство имён this_thread
(C++11)
(C++11)
(C++11)
Атомарные типы
(C++11)
(C++20)
Инициализация атомарных типов
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
Функции освобождения для атомарных операций
Функции освобождения для атомарных флагов
Упорядочивание памяти
Взаимное исключение
(C++11)
Общее управление блокировкой
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Условные переменные
(C++11)
Семафоры
Защёлки и барьеры
(C++20)
(C++20)
Фьючерсы
(C++11)
(C++11)
(C++11)
(C++11)
 
<tbody> </tbody>
Определено в заголовочном файле <mutex>
class once_flag;
(начиная с C++11)

Класс std::once_flag является вспомогательной структурой для std::call_once.

Объект с типом std::once_flag that is passed to multiple calls to std::call_once allows those calls to coordinate with eachother such that only one of the calls will actually run to completion.

std::once_flag является некопируемым.

Функции-члены

std::once_flag::once_flag

<tbody> </tbody>
once_flag();

Конструктор объекта once_flag. Внутреннее состояние устанавливается в значение, указывающее что никакая функция не была вызвана.

Параметры

(нет)

Exceptions

спецификация noexcept:  
noexcept
  

См. также

(C++11)
вызывает функцию только один раз, даже если она вызывается из нескольких потоков
(шаблон функции) [править]