Bibliothèque de threads C ++ - Fonction joignable

La description

Il renvoie si l'objet thread est joignable.

Déclaration

Voici la déclaration de la fonction std :: thread :: joinable.

bool joinable() const noexcept;

C ++ 11

bool joinable() const noexcept;

Paramètres

aucun

Valeur de retour

Il retourne true si le thread est joignable ou false.

Des exceptions

No-throw guarantee - ne jette jamais d'exceptions.

Courses de données

L'objet est accédé.

Exemple

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

#include <iostream>
#include <thread>
#include <chrono>
 
void foo() {
   std::this_thread::sleep_for(std::chrono::seconds(2));
}
 
int main() {
   std::thread t;
   std::cout << "before joinable: " << t.joinable() << '\n';

   t = std::thread(foo);
   std::cout << "after joinable: " << t.joinable() << '\n';

   t.join();
   std::cout << "after joining, joinable: " << t.joinable() << '\n';
}

La sortie devrait être comme ça -

before joinable: 0
after joinable: 1
after joining, joinable: 0