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
Défini dans l'en-tête <thread>
class thread ;
(depuis C++11)

La classe thread représente un unique fil d'exécution . Les threads permettent à plusieurs fonctions de s'exécuter simultanément.

Les threads commencent leur exécution immédiatement après la construction de l'objet thread associé (sous réserve des délais d'ordonnancement du système d'exploitation), en commençant par la fonction de niveau supérieure fournie comme argument du constructeur . La valeur de retour de la fonction de niveau supérieur est ignorée et si elle se termine en lançant une exception, std::terminate est appelée. La fonction de niveau supérieur peut communiquer sa valeur de retour ou une exception à l'appelant via std::promise ou en modifiant des variables partagées (ce qui peut nécessiter une synchronisation, voir std::mutex et std::atomic ).

std::thread peuvent également être dans un état ne représentant aucun thread (après construction par défaut, déplacement, detach , ou join ), et un thread d'exécution peut ne pas être associé à un objet thread (après detach ).

Aucun deux std::thread objets ne peuvent représenter le même fil d'exécution ; std::thread n'est pas CopyConstructible ou CopyAssignable , bien qu'il soit MoveConstructible et MoveAssignable .

Table des matières

Types membres

Type de membre Définition
native_handle_type ( optionnel* ) défini par l'implémentation

Classes membres

représente l' id d'un thread
(classe membre publique)

Fonctions membres

construit un nouvel objet thread
(fonction membre publique)
détruit l'objet thread, le thread sous-jacent doit être joint ou détaché
(fonction membre publique)
déplace l'objet thread
(fonction membre publique)
Observateurs
vérifie si le thread est joignable, c'est-à-dire potentiellement en cours d'exécution dans un contexte parallèle
(fonction membre publique)
retourne l' id du thread
(fonction membre publique)
retourne le handle de thread défini par l'implémentation sous-jacente
(fonction membre publique)
retourne le nombre de threads concurrents supportés par l'implémentation
(fonction membre statique publique)
Opérations
attend que le thread termine son exécution
(fonction membre publique)
permet au thread de s'exécuter indépendamment du handle de thread
(fonction membre publique)
échange deux objets thread
(fonction membre publique)

Fonctions non membres

spécialise l'algorithme std::swap
(fonction)

Voir aussi

(C++20)
std::thread avec prise en charge de l'auto-jonction et de l'annulation
(classe)