std::launch
Von cppreference.com
| Definiert im Header <future> |
||
| enum class launch : /* nicht spezifiziert */ { async = /* nicht spezifiziert */, |
(seit C++11) | |
std::launch ist ein BitmaskType. Es spezifiziert die Startrichtlinie für eine Aufgabe, die von der Funktion std::async ausgeführt wird.
[bearbeiten] Konstanten
Die folgenden Konstanten, die einzelne Bits bezeichnen, sind von der Standardbibliothek definiert
| Name | Erklärung |
async
|
die Aufgabe wird in einem anderen Thread ausgeführt, möglicherweise indem sie zuerst erstellt und gestartet wird |
deferred
|
die Aufgabe wird im aufrufenden Thread ausgeführt, wenn ihr Ergebnis zum ersten Mal angefordert wird (Lazy Evaluation) |
Zusätzlich sind Implementierungen erlaubt,
- zusätzliche Bits und Bitmasken zu definieren, um Einschränkungen bei der Aufgabeninteraktion zu spezifizieren, die für eine Teilmenge der Startrichtlinien gelten, und
- diese zusätzlichen Bitmasken für die erste (Standard-)Überladung von std::async zu aktivieren.
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2102 | C++11 | std::launch war ein implementierungsdefinierter Typ |
es ist nicht implementierungsdefiniert |
[bearbeiten] Siehe auch
| (C++11) |
führt eine Funktion asynchron aus (potenziell in einem neuen Thread) und gibt ein std::future zurück, das das Ergebnis enthalten wird (Funktionsvorlage) |