std:: launch
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<future>
|
||
|
enum
class
launch
:
/* unspecified */
{
async
=
/* unspecified */
,
|
(начиная с C++11) | |
std::launch
является
BitmaskType
. Он определяет политику запуска для задачи, выполняемой функцией
std::async
.
Константы
Следующие константы, обозначающие отдельные биты, определены стандартной библиотекой:
| Перечислитель | Значение |
async
|
задача выполняется в отдельном потоке, потенциально с предварительным созданием и запуском |
deferred
|
задача выполняется в вызывающем потоке при первом запросе её результата (отложенное вычисление) |
Кроме того, реализациям разрешается:
- определить дополнительные биты и битовые маски для указания ограничений на взаимодействия задач, применимых к подмножеству политик запуска, и
- включить эти дополнительные битовые маски для первой (стандартной) перегрузки std::async .
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение как опубликовано | Корректное поведение |
|---|---|---|---|
| LWG 2102 | C++11 |
std::launch
был типом, определяемым реализацией
|
он не определяется реализацией |
Смотрите также
|
(C++11)
|
запускает функцию асинхронно (потенциально в новом потоке) и возвращает
std::future
, который будет содержать результат
(шаблон функции) |