std:: thread
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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) |
|
|
[static]
|
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
|
(C++11)
|
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) |