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

std::once_flag

Материал из cppreference.com
< cpp‎ | thread

 
 
Библиотека поддержки конкуренции
Ветви
(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)
once_flag
(C++11)
(C++11)
Условные переменные
(C++11)
Семафоры
Защёлки и барьеры
(C++20)
(C++20)
Фьючерсы
(C++11)
(C++11)
(C++11)
(C++11)
 
Определено в заголовочном файле <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

once_flag();

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

Параметры

(нет)

Exceptions

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

[править] См. также

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