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
Definiert im Header <future>
enum class launch : /* unspecified */ {

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

} ;
(seit C++11)

std::launch ist ein BitmaskType . Es spezifiziert die Startrichtlinie für eine Aufgabe, die durch die std::async -Funktion ausgeführt wird.

Konstanten

Die folgenden Konstanten, die einzelne Bits bezeichnen, sind von der Standardbibliothek definiert:

Enumerator Bedeutung
async die Aufgabe wird in einem anderen Thread ausgeführt, möglicherweise durch dessen Erstellung und Start
deferred die Aufgabe wird im aufrufenden Thread beim ersten Anfordern ihres Ergebnisses ausgeführt (verzögerte Auswertung)

Zusätzlich dürfen Implementierungen:

  • definiere zusätzliche Bits und Bitmasken, um Einschränkungen für Task-Interaktionen festzulegen, die für eine Teilmenge von Launch-Policies gelten, und
  • aktiviere diese zusätzlichen Bitmasken für die erste (Standard-) Überladung von std::async .

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2102 C++11 std::launch war ein implementierungsdefinierter Typ es ist nicht implementierungsdefiniert

Siehe auch

(C++11)
führt eine Funktion asynchron aus (möglicherweise in einem neuen Thread) und gibt eine std::future zurück, die das Ergebnis halten wird
(Funktions-Template)