Erweiterungen für Nebenläufigkeit
Von cppreference.com
< cpp | experimental
Die C++-Erweiterungen für Nebenläufigkeit, ISO/IEC TS 19571:2016, definieren die folgenden neuen Komponenten für die C++-Standardbibliothek
Inhalt |
[bearbeiten] Continuations und andere Erweiterungen für std::future
| Definiert im Header
<experimental/future> | |
| (Concurrency TS) |
eine Version von std::future erweitert um Continuations und andere Funktionen (Klassenvorlage) |
| (Concurrency TS) |
eine Version von std::shared_future erweitert um Continuations und andere Funktionen (Klassenvorlage) |
| (Concurrency TS) |
eine modifizierte Version von std::promise, die std::experimental::future verwendet (Klassentemplate) |
| (Concurrency TS) |
eine modifizierte Version von std::packaged_task, die std::experimental::future verwendet (Klassentemplate) |
| (Concurrency TS) |
erzeugt ein Future, das bereit ist, wenn alle angegebenen Futures oder shared_futures bereit sind(Funktionsvorlage) |
| (Concurrency TS) |
erzeugt ein Future, das bereit ist, wenn mindestens eines der angegebenen Futures oder shared_futures bereit ist (Funktionsvorlage) |
| (Concurrency TS) |
erzeugt ein Future, das sofort bereit ist und den angegebenen Wert enthält (Funktionsvorlage) |
| (Concurrency TS) |
erzeugt ein Future, das sofort bereit ist und die angegebene Ausnahme enthält (Funktionsvorlage) |
[bearbeiten] Feature-Testmakros
| Definiert im Header
<experimental/future> | |
| __cpp_lib_experimental_future_continuations |
ein Wert von mindestens 201505 zeigt an, dass future::then und andere Erweiterungen unterstützt werden (Makro-Konstante) |
| Definiert im Header
<experimental/latch> | |
| __cpp_lib_experimental_latch |
ein Wert von mindestens 201505 zeigt an, dass der Latch-Typ unterstützt wird (Makro-Konstante) |
| Definiert im Header
<experimental/barrier> | |
| __cpp_lib_experimental_barrier |
ein Wert von mindestens 201505 zeigt an, dass der Barrier-Typ unterstützt wird (Makro-Konstante) |
| Definiert im Header
<experimental/atomic> | |
| __cpp_lib_experimental_atomic_smart_pointers |
ein Wert von mindestens 201505 zeigt an, dass die atomaren Smart-Pointer unterstützt werden (Makro-Konstante) |
[bearbeiten] In C++20 integriert
Die folgenden Komponenten der Concurrency TS wurden in den C++20-Standard übernommen.
[bearbeiten] Latches und Barriers
| Definiert im Header
<experimental/latch> | |
| (Concurrency TS) |
einmalig verwendbare Thread-Barriere (Klasse) |
| Definiert im Header
<experimental/barrier> | |
| (Concurrency TS) |
wiederverwendbare Thread-Barriere (Klasse) |
| (Concurrency TS) |
wiederverwendbare Thread-Barrier mit anpassbarem Verhalten bei Abschluss (Klasse) |
[bearbeiten] Atomare Smart-Pointer
Diese Klassenvorlagen ersetzen die atomaren Funktionsüberladungen von shared_ptr atomic
| Definiert im Header
<experimental/atomic> | |
| (Concurrency TS) |
atomare Version von std::shared_ptr (Klassenvorlage) |
| (Concurrency TS) |
atomare Version von std::weak_ptr (Klassenvorlage) |