Spec-Zone.ru › C++

std::launch

Определено в заголовочном файле <future>
enum class launch : /* unspecified */ {
    async =    /* unspecified */,
    deferred = /* unspecified */,
    /* implementation-defined */
};
(начиная с C++11)

std::launch — это BitmaskType. Он задаёт политику запуска для задачи, выполняемой функцией std::async.

Константы

Стандартная библиотека определяет следующие константы, обозначающие отдельные биты:

Перечислитель Значение
async задача выполняется в другом потоке, который при необходимости сначала создаётся и запускается
deferred задача выполняется в вызывающем потоке при первом запросе её результата (ленивое вычисление)

Кроме того, реализациям разрешается:

  • определять дополнительные биты и битовые маски, задающие ограничения на взаимодействие задач, применимые к подмножеству политик запуска, и
  • включать эти дополнительные битовые маски для первой (используемой по умолчанию) перегрузки std::async.

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.

Отчёт об ошибке Применяется к Опубликованное поведение Корректное поведение
LWG 2102 C++11 std::launch имел тип, определяемый реализацией тип не определяется реализацией

См. также

async
(C++11)
асинхронно выполняет функцию (возможно, в новом потоке) и возвращает std::future, в котором будет храниться результат
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/launch

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API