Namensräume
Varianten
Aktionen

Erweiterungen für Nebenläufigkeit

Von cppreference.com
 
 
Experimentell
Technische Spezifikation
Dateisystembibliothek (Filesystem TS)
Grundlagen der Bibliothek (Library Fundamentals TS)
Grundlagen der Bibliothek 2 (Library Fundamentals TS v2)
Grundlagen der Bibliothek 3 (Library Fundamentals TS v3)
Erweiterungen für Parallelität (Parallelism TS)
Erweiterungen für Parallelität 2 (Parallelism TS v2)
Erweiterungen für Nebenläufigkeit (Concurrency TS)
Erweiterungen für Nebenläufigkeit 2 (Concurrency TS v2)
Konzepte (Concepts TS)
Bereiche (Ranges TS)
Reflektion (Reflection TS)
Mathematische Spezialfunktionen (Special Functions TR)
Experimentell Nicht-TS
Pattern Matching
Lineare Algebra
std::execution
Verträge
2D-Grafik
 
 

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) [bearbeiten]
(Concurrency TS)
eine Version von std::shared_future erweitert um Continuations und andere Funktionen
(Klassenvorlage) [bearbeiten]
(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) [bearbeiten]
(Concurrency TS)
erzeugt ein Future, das bereit ist, wenn mindestens eines der angegebenen Futures oder shared_futures bereit ist
(Funktionsvorlage) [bearbeiten]
(Concurrency TS)
erzeugt ein Future, das sofort bereit ist und den angegebenen Wert enthält
(Funktionsvorlage) [bearbeiten]
(Concurrency TS)
erzeugt ein Future, das sofort bereit ist und die angegebene Ausnahme enthält
(Funktionsvorlage) [bearbeiten]

[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) [bearbeiten]
Definiert im Header <experimental/barrier>
(Concurrency TS)
wiederverwendbare Thread-Barriere
(Klasse) [bearbeiten]
(Concurrency TS)
wiederverwendbare Thread-Barrier mit anpassbarem Verhalten bei Abschluss
(Klasse) [bearbeiten]

[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) [bearbeiten]
(Concurrency TS)
atomare Version von std::weak_ptr
(Klassenvorlage) [bearbeiten]