Namespaces
Variants

Extensions for concurrency

From cppreference.net

Die C++-Erweiterungen für Nebenläufigkeit, ISO/IEC TS 19571:2016, definiert die folgenden neuen Komponenten für die C++-Standardbibliothek:

Inhaltsverzeichnis

Fortsetzungen und andere Erweiterungen für std::future

Definiert im Header <experimental/future>
(concurrency TS)
eine Version von std::future erweitert mit Continuations und anderen Funktionen
(Klassen-Template)
(concurrency TS)
eine Version von std::shared_future erweitert mit Continuations und anderen Funktionen
(Klassen-Template)
(concurrency TS)
eine modifizierte Version von std::promise die std::experimental::future verwendet
(Klassen-Template)
(concurrency TS)
eine modifizierte Version von std::packaged_task die std::experimental::future verwendet
(Klassen-Template)
(concurrency TS)
erzeugt ein Future, das bereit wird, wenn alle gegebenen Futures oder shared_futures bereit sind
(Funktions-Template)
(concurrency TS)
erzeugt ein Future, das bereit wird, wenn mindestens eines der gegebenen Futures oder shared_futures bereit ist
(Funktions-Template)
(concurrency TS)
erzeugt ein Future, das sofort bereit ist und den gegebenen Wert enthält
(Funktions-Template)
(concurrency TS)
erzeugt ein Future, das sofort bereit ist und die gegebene Exception enthält
(Funktions-Template)

Feature-Test-Makros

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
(Makrokonstante)
Definiert im Header <experimental/latch>
__cpp_lib_experimental_latch
ein Wert von mindestens 201505 zeigt an, dass der Latch-Typ unterstützt wird
(Makrokonstante)
Definiert im Header <experimental/barrier>
__cpp_lib_experimental_barrier
ein Wert von mindestens 201505 zeigt an, dass der Barrier-Typ unterstützt wird
(Makrokonstante)
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
(Makrokonstante)

In C++20 übernommen

Die folgenden Komponenten des Concurrency TS wurden in den C++20-Standard übernommen.

Latches und Barriers

Definiert im Header <experimental/latch>
(concurrency TS)
Einmalige Thread-Barriere
(Klasse)
Definiert im Header <experimental/barrier>
(concurrency TS)
Wiederverwendbare Thread-Barriere
(Klasse)
(concurrency TS)
Wiederverwendbare Thread-Barriere mit anpassbarem Verhalten bei Abschluss
(Klasse)

Atomare Smart Pointer

Diese Klassentemplates ersetzen die shared_ptr atomic function overloads

Definiert im Header <experimental/atomic>
(concurrency TS)
Atomare Version von std::shared_ptr
(Klassentemplate)
(concurrency TS)
Atomare Version von std::weak_ptr
(Klassentemplate)