Namespaces
Variants

std:: thread

From cppreference.net
Concurrency support library
Threads
thread
(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)
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 in Header <thread>
class thread ;
(seit C++11)

Die Klasse thread repräsentiert einen einzelnen Ausführungsstrang . Threads ermöglichen die gleichzeitige Ausführung mehrerer Funktionen.

Threads beginnen die Ausführung unmittelbar nach der Konstruktion des zugehörigen Thread-Objekts (vorbehaltlich eventueller Betriebssystem-Scheduling-Verzögerungen), beginnend mit der Top-Level-Funktion, die als Konstruktorargument bereitgestellt wird. Der Rückgabewert der Top-Level-Funktion wird ignoriert, und wenn sie durch Auslösen einer Exception endet, wird std::terminate aufgerufen. Die Top-Level-Funktion kann ihren Rückgabewert oder eine Exception an den Aufrufer über std::promise oder durch Modifizieren gemeinsamer Variablen kommunizieren (was Synchronisation erfordern kann, siehe std::mutex und std::atomic ).

std::thread Objekte können sich auch in einem Zustand befinden, der keinen Thread repräsentiert (nach Default-Konstruktion, Move-Operation, detach , oder join ), und ein Ausführungs-Thread kann keinem thread Objekt zugeordnet sein (nach detach ).

Keine zwei std::thread Objekte dürfen denselben Ausführungsstrang repräsentieren; std::thread ist nicht CopyConstructible oder CopyAssignable , obwohl es MoveConstructible und MoveAssignable ist.

Inhaltsverzeichnis

Mitgliedertypen

Mitgliedertyp Definition
native_handle_type ( optional* ) implementierungsdefiniert

Mitgliedsklassen

repräsentiert die ID eines Threads
(öffentliche Member-Klasse)

Memberfunktionen

Konstruiert neues thread -Objekt
(öffentliche Elementfunktion)
zerstört das Thread-Objekt, zugrundeliegender Thread muss gejoined oder detached sein
(öffentliche Elementfunktion)
verschiebt das Thread-Objekt
(öffentliche Elementfunktion)
Beobachter
prüft ob der Thread joinable ist, d.h. potentiell in parallelem Kontext läuft
(öffentliche Elementfunktion)
gibt die id des Threads zurück
(öffentliche Elementfunktion)
gibt das zugrundeliegende implementierungsdefinierte Thread-Handle zurück
(öffentliche Elementfunktion)
gibt die Anzahl der durch die Implementierung unterstützten nebenläufigen Threads zurück
(öffentliche statische Elementfunktion)
Operationen
wartet auf das Beenden der Thread-Ausführung
(öffentliche Elementfunktion)
erlaubt dem Thread die unabhängige Ausführung vom Thread-Handle
(öffentliche Elementfunktion)
tauscht zwei Thread-Objekte
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

spezialisiert den std::swap Algorithmus
(Funktion)

Siehe auch

(C++20)
std::thread mit Unterstützung für automatisches Join und Abbruch
(Klasse)