Bibliothèque C ++ - <thread>

introduction

Thread est une séquence d'instructions qui peuvent être exécutées simultanément avec d'autres séquences de ce type dans des environnements multithreading, tout en partageant un même espace d'adresse.

Types de membres

N ° Sr. Type de membre et description
1 id

C'est un identifiant de fil.

2 Type de poignée natif

C'est un type de poignée natif.

Fonctions des membres

N ° Sr. Fonction et description du membre
1 (constructeur)

Il est utilisé pour construire un thread.

2 (destructeur)

Il est utilisé pour détruire le thread.

3 opérateur =

C'est un thread d'attribution de mouvement.

4 get_id

Il est utilisé pour obtenir l'ID de thread.

5 joignable

Il est utilisé pour vérifier si joignable.

6 joindre

Il est utilisé pour rejoindre le thread.

sept détacher

Il est utilisé pour détacher le fil.

8 échanger

Il est utilisé pour permuter les threads.

9 native_handle

Il est utilisé pour obtenir un handle natif.

dix hardware_concurrency [statique]

Il est utilisé pour détecter la concurrence matérielle.

Surcharges non membres

N ° Sr. Surcharge et description des non-membres
1 swap (fil)

Il est utilisé pour permuter les threads.

Exemple

Dans l'exemple ci-dessous pour std :: thread.

#include <iostream>
#include <thread>

void foo() {
   std::cout << " foo is executing concurrently...\n";
}

void bar(int x) {
   std::cout << " bar is executing concurrently...\n";
}

int main() {
   std::thread first (foo);
   std::thread second (bar,0);

   std::cout << "main, foo and bar now execute concurrently...\n";

   first.join();
   second.join();

   std::cout << "foo and bar completed.\n";

   return 0;
}

La sortie devrait être comme ça -

main, foo and bar now execute concurrently...
 bar is executing concurrently...
 foo is executing concurrently...
foo and bar completed.