Namespaces
Variants

std:: launch

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
launch
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
Definido en el encabezado <future>
enum class launch : /* unspecified */ {

async = /* unspecified */ ,
deferred = /* unspecified */ ,
/* implementation-defined */

} ;
(desde C++11)

std::launch es un BitmaskType . Especifica la política de lanzamiento para una tarea ejecutada por la función std::async .

Constantes

Las siguientes constantes que denotan bits individuales están definidas por la biblioteca estándar:

Enumerador Significado
async la tarea se ejecuta en un hilo diferente, potencialmente creándolo y lanzándolo primero
deferred la tarea se ejecuta en el hilo que realiza la llamada la primera vez que se solicita su resultado (evaluación diferida)

Además, las implementaciones pueden:

  • definir bits y máscaras de bits adicionales para especificar restricciones en las interacciones de tareas aplicables a un subconjunto de políticas de lanzamiento, y
  • habilitar esas máscaras de bits adicionales para la primera sobrecarga (por defecto) de std::async .

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 2102 C++11 std::launch era un tipo definido por la implementación no está definido por la implementación

Véase también

(C++11)
ejecuta una función de forma asíncrona (potencialmente en un nuevo hilo) y devuelve un std::future que contendrá el resultado
(plantilla de función)